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.