Tim Boyer wrote: > Matt - > > I'll take your word for it, but... why? All MIMEDefang is doing is calling > SpamAssassin, right? Once control is passed to SpamAssassin, shouldn't it > be doing the logging?
At the level SA is being called by MIMEDefang, SA is not a program, it is just a library. It's generally considered VERY bad form for libraries to reconfigure logging on their own. That's a feature the calling program should have complete control over. Since SA is being called as a part of MIMEDefang's process space, it's subject to how MD wants to run logging. I'd also venture to guess that mimedefang is a "well behaved" unix process and doesn't do logging directly to files itself either. It's probably dumping the events to syslog and it's up to your syslogd to write the events to files. That's the "*nix-correct" way for daemons to log, as it allows centralized management of logging instead of having to configure each program separately. You should be able to configure what facility mimedefang uses for logging, and it's probably defaulting to "mail". You should be able to switch it to something like 'local5' and have your syslogd write local5.* to /var/log/mimedefang or whatever you want. warning minor rant follows: Spamd supports bypassing syslog and logging directly to files, but IMHO, that's mostly a hack for people who don't know how to administer their syslog daemon. (eventually you WILL have to learn how since so many programs use this, including your kernel. syslog is really flexible and convenient. Once you know it, you can manipulate most of the logs on your system with it.) The only real benefit of supporting direct writes in a daemon is to allow it to run in an environment without syslog support, such as a heavily locked-down chroot jail which has no allowance for sockets and pipes controlled by processes outside the chroot.