Viktor Dukhovni: > On Mon, Jan 21, 2019 at 07:04:56PM -0500, Wietse Venema wrote: > > > postfix-3.4-20190121-nonprod-logger has lightly-tested code for > > logging to file without using syslogd. > > I see that the postlogd(8) service correctly uses a unix-dgram > service to avoid message reordering, so the usual attention to > detail has not deserted you. :-) Thanks!
A lot of attention to detail went into this, but I have no control over how the kernel's unix-domain datagram implementation buffers messages until the postlogd service is ready. That's why messages are time-stamped by the sender, not receiver. > For log rotation instructions, I would add that the old file should > not be modified, compressed or otherwise assumed complete, until a > new file is observed to have been written by postlogd(8) after > processing the "reload" command. If one is not sure whether Postfix > is running, one could use postlog(1) (as root) to cause a new file > to be written, one way or the other. The Postfix master immediately signals postlogd to terminate. This being a single-instance event-driven service, it should terminate immediately unless it is blocked on file writes. > The only other nit that comes to mind, is that some syslog servers > needlessly delete and re-create their unix-dgram sockets on reload, > which leads to needless opportunities for brief loss of messages > written to the previous incarnation of the socket. The Postfix master does not close a socket, unless the service is removed from master.cf, or master_service_disable is in effect. Wietse