2016.03.01バージョンのArchlinuxと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
答え1
rsyslog.com Web サイトで見つからないので、この問題のサポート ドキュメントへのリンクを歓迎します。ただし、OPのテストでは、rsyslog(与えられた構成を含む)は、これらのファイルのロギングを有効にするために新しいファイルの作成を拒否し、最初に作成することが明らかです(例touch /var/log/local4.log
:)。
以前にもこんなことがありました。rsyslogが存在しない場合は、rsyslogにログファイルを生成するようにどのように指示しますか?ファイルの削除に関する質問があるため、logrotateによるファイルの回転も同様の状況です。