I'm implementing logfile support for Postfix on MacOS, because not
providing results in a bad experience.

This is a retrofit workaround, therefore it will have limitations
that do not exist with the default syslog-based implementation.

- The logfile pathname is configured in main.cf, and therefore the
  logfile cannot contain information from programs that fail before
  they finish processing main.cf and command-line options.

- The logfile is written by a new postlogd daemon. This program is
  start-up critical, meaning that if the postlogd daemon fails
  during "postfix start" or "postfix reload", then the Postfix
  master(8) daemon will terminate.

- During Postfix start-up, before the postlogd daemon runs, programs
  such as postfix(1), postlog(1) and master(8) will write directly
  to the logfile. These programs will log a fatal error if they
  cannot create or append to the logfile.

- The low-privilege setgid Postfix programs postqueue(1) and
  postdrop(1) can send logging to the postlog daemon. If the postlog
  daemon is down, the logging from these programs will be lost.
  These programs will still log to stderr.

- The unprivileged Postfix sendmail(1) program cannot talk to the
  postlogd daemon. This program can log only to stderr.

- Logfile rotation is not built into Postfix. To rotate the file,
  run a cron job that renames the current file, and that excecutes
  "postfix reload" before compressing the file. The postlogd daemon
  will automatically create a logfile if it does not exist.

        Wietse

Reply via email to