Archlinuxのリリース2016.03.01とパッケージrsyslogd8.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
in /etc/systemd/journald.conf
Rsyslog.comのサイトで見つけることができないので、これに関するドキュメントをサポートするためのリンクを歓迎します。ただし、OPのテストから、rsyslog(指定された構成)が新しいファイルの作成を拒否することは明らかです。これらのファイルへのログ記録を有効にするには、最初にファイルを作成します(例:touch /var/log/local4.log
)。
これは以前に次のように発生しました: rsyslogにログファイルがない場合に作成するように指示する方法は? その質問はファイルの削除について尋ねます。 logrotateを介したファイルローテーションも同様のケースです。