git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] daemon: add --no-syslog to undo implicit --syslog

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 24, 2018, 18:33 UTC
Message-ID
<xmqqtvvbds42.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<18ef807d-a642-17b2-fc32-af0c3b963a71@lucaswerkmeister.de>
Lucas Werkmeister <mail@lucaswerkmeister.de> writes:
Show 10 quoted lines
>> Moreover, --detach completely dissociates the process from the
>> original set of standard file descriptors by first closing them and
>> then connecting it to "/dev/null", so it will be nonsense to use this
>> new option with it.
>
> Ah, I wasn’t aware of that – so with --detach, --no-syslog would be
> better described as “disables all logging” rather than “log to stderr
> instead”. IMHO it would still make sense to have the --no-syslog option
> (then mainly for use with --inetd) as long as its interaction with
> --inetd is properly documented.

Because "--detach --no-syslog" is a roundabout way to ask for sending the log to _nowhere_, I actually would say that "nonsense" is a bit too strong a word for the combination of your thing with "--detach".

It might make more sense to introduce a new "--send-log-to=<dest>" option, where the destination can be one of: syslog, stderr, none.

The you can make the current "--syslog" option a synonym to "--send-log-to=syslog". The internal variable log_syslog would probably become

	enum log_destination { 
		LOG_TO_NONE = -1,
		LOG_TO_STDERR = 0,
		LOG_TO_SYSLOG = 1,
	} log_destination;

and wherever the current code assigns 1 to log_syslog, you would be setting it LOG_TO_SYSLOG.

Then those who want no log can express that wish in a more direct way, i.e. "daemon --send-log-to=none", perhaps.

Such an approach leaves open room for future enhancement. It is not too far-fetched to imagine something like:

	git daemon --send-log-to=/var/log/git-daemon.log

by introducing the fourth value to "enum log_destination"; perhaps the file is opened and connected to stderr to accept the logs, combined with a new feature that tells the daemon to close and reopen the log file when it receives a HUP or something like that.

Previous: Lucas WerkmeisterNext: Lucas Werkmeister
Message 6 of 21 in “daemon: add --no-syslog to undo implicit --syslog”
  1. daemon: add --no-syslog to undo implicit --syslogLucas Werkmeister, Jan 22, 2018
  2. Ævar Arnfjörð BjarmasonJan 23, 2018
  3. Junio C HamanoJan 23, 2018
  4. Lucas WerkmeisterJan 23, 2018
  5. Lucas WerkmeisterJan 24, 2018
  6. Junio C HamanoJan 24, 2018
  7. Lucas WerkmeisterJan 24, 2018
  8. daemon: add --send-log-to=(stderr|syslog|none)Lucas Werkmeister, Jan 27, 2018
  9. Eric SunshineJan 28, 2018
  10. Lucas WerkmeisterJan 28, 2018
  11. Eric SunshineJan 29, 2018
  12. daemon: add --log-destination=(stderr|syslog|none)Lucas Werkmeister, Feb 3, 2018
  13. Eric SunshineFeb 4, 2018
  14. Lucas WerkmeisterFeb 4, 2018
  15. daemon: add --log-destination=(stderr|syslog|none)Lucas Werkmeister, Feb 4, 2018
  16. Ævar Arnfjörð BjarmasonFeb 4, 2018
  17. Lucas WerkmeisterFeb 4, 2018
  18. Ævar Arnfjörð BjarmasonFeb 5, 2018
  19. Eric SunshineFeb 4, 2018
  20. Eric SunshineFeb 4, 2018
  21. Junio C HamanoFeb 5, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.