Arch-Linux

無法在 archlinux 系統上通過 rsyslog 登錄

  • June 14, 2016

使用 Archlinux 的 2016.03.01 版本和 rsyslogd 8.18.0 包,我從非常簡單的配置建構的最小配置開始 :

# cat rsyslog.conf
$ModLoad immark
$ModLoad imudp
$ModLoad imtcp
$ModLoad imuxsock
$ModLoad imklog

$template SyslFormat,"%timegenerated% [WJCG]-%HOSTNAME% %syslogtag%%msg:::space$

kern.debug /var/adm/syslog.dated/kern.log;SyslFormat
user.debug /var/adm/syslog.dated/user.log;SyslFormat
daemon.debug /var/adm/syslog.dated/daemon.log;SyslFormat
auth.crit;syslog.debug /var/adm/syslog.dated/syslog.log;SyslFormat
mail,lpr.debug /var/adm/syslog/misc.log;SyslFormat
kern.debug /var/adm/messages;SyslFormat
kern.debug /dev/console;SyslFormat
*.emerg *

local4.* /var/log/local4.log

現在,如果我嘗試(作為使用者或 root):

# echo hello|logger -p local4.info

沒有記錄,沒有/var/log/local4.log創建文件。

然而,在 systemd 日誌的末尾,我得到了:

# journalctl -xe|tail
Jun 10 18:32:17 mothership mobr[1681]: hello
Jun 10 18:38:09 mothership root[1696]: hello

似乎 systemd 正在弄亂正常日誌,但我找不到方法。有什麼線索嗎?

已解決:

通過創建日誌文件:並# touch /var/log/local4.log

啟動選項ForwardToSyslog=yes``/etc/systemd/journald.conf

我歡迎提供支持文件的連結,因為我在 rsyslog.com 的網站上找不到它。但是,從 OP 的測試中可以明顯看出,rsyslog(具有給定配置)將拒絕創建新文件;要啟用對這些文件的日誌記錄,請先創建它們(例如touch /var/log/local4.log)。

這在之前出現過:如果不存在,如何告訴 rsyslog 創建日誌文件?正如該問題所詢問的有關文件刪除的問題;通過 logrotate 進行文件輪換也是類似的情況。

引用自:https://unix.stackexchange.com/questions/289014