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.




Reply via email to