Larry Stone: > > # Log file to use for error messages. "syslog" logs to syslog, > > # /dev/stderr logs to stderr. > > #log_path = syslog > > log_path = /var/log/mail.log > > > > So I?ve had to change this so that it writes directly to the file, and not > > to syslog. > > Ah. So Dovecot has the ability to write logs directly. I believe > Wietse has stated in the past that no such capability exists in > Postfix and it only logs to the syslog daemon. And it?s the changes > Apple has made to syslog that are the issue.
Is that better than Bill Cole's solution to run a log exporter at system startup? If both Dovecot and Postfix write to the same logfile, that would be a disaster. - The only way to make multiple logfile writers safe is that each logfile writer flushes its own buffers after every log call, and that would be disastrous for performance. See the Postfix LINUX_README for a discussion. It may be OK for MacOS but it is not good for real servers. - If individual programs write directly to the logfile, flushing after every log call is also required to avoid losing logs when a program crashes, and that is when logs are needed most. - The only way to make logging performant is to have a single writer that has a limited-size write buffer (like syslogd and rsyslogd). Therefore, - Postfix and Dovecot cannot share logfiles. But there is nothing to enforce that, because there are no mandatory locks. - Postfix needs its own logger daemon, which brings major challenges when Postfix is not (yet) running. - What happens with logging during Postfix startup? Hack the log client code to directly write to the logfile? Will it even be allowed to write outside the Postfix queue? If every program opens the logfile as root, it has to make sure that the file is not a symlink, has no multiple hard links, etc. - What happens with logging from non-daemon programs when Postix is down? Unless the logfile is world-writable, those prograns will have nowhere to log. This affects programs that invoke /bin/mail before Postfix is up; we should not assume that such programs will always run as root. - Log rotation support. Postfix cannot keep appending to the same file forever. It may be OK for MacOS but it is not good for real servers. Basically re-invent the log rotation wheel. Wietse