Evitar el uso de systemd/journal y usar un fichero para los logs

Hay determinados entornos donde es necesario que un proceso / servicio / demonio escriba sus logs en un fichero y no únicamente a través de systemd/journal. Si es algo temporal, siempre se puede redirigir la salida de journalctl a un fichero segun van generándose.

journalctl -f -u XXX > fichero

Pero si se quiere algo permanente y el proceso / servicio / proceso no tiene una opción que permita especificar un fichero de registro, esto podría hacerse mediante rsyslog de la siguiente manera.

Editamos el fichero service del servicio systemd que proceda, para el ejemplo Postfix /usr/lib/systemd/system/postfix.service y agregamos las opciones StandardOutput, StandardError y SyslogIdentifier.

[Unit]
Description=Postfix Mail Transport Agent
After=syslog.target network.target
Conflicts=sendmail.service exim.service

[Service]
Type=forking
PIDFile=/var/spool/postfix/pid/master.pid
EnvironmentFile=-/etc/sysconfig/network
ExecStartPre=-/usr/libexec/postfix/aliasesdb
ExecStartPre=-/usr/libexec/postfix/chroot-update
ExecStart=/usr/sbin/postfix start
ExecReload=/usr/sbin/postfix reload
ExecStop=/usr/sbin/postfix stop
### Systemd/journal > Fichero
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=postfix
###

[Install]
WantedBy=multi-user.target

Ahora se debe configurar rsyslog para que intercepte dichos logs y los escriba en el fichero que se necesite, para el ejemplo se usará la clásica ruta que siempre ha sido usada por postfix para registrar sus logs.

Se crea el fichero de configuración rsyslog /etc/rsyslog.d/postfix.conf con el siguiente contenido.

if $programname == 'postfix' then /var/log/maillog
& stop

Reiniciamos los servicios y los logs de Postfix estarían tanto en systemd/journal como en el fichero /var/log/maillog.

systemctl daemon-reload
systemctl restart rsyslog postfix

NOTA: Versiones actuales de Postfix tienen soporte para escribir directamente en ficheros de logs: http://www.postfix.org/MAILLOG_README.html

Postfix supports it own logging system as an alternative to syslog (which remains the default). This is available with Postfix version 3.4 or later.