web-dev-qa-db-ja.com

archlinuxシステムでrsyslogを介してログに記録できない

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

2
Francois

Rsyslog.comのサイトで見つけることができないので、これに関するドキュメントをサポートするためのリンクを歓迎します。ただし、OPのテストから、rsyslog(指定された構成)が新しいファイルの作成を拒否することは明らかです。これらのファイルへのログ記録を有効にするには、最初にファイルを作成します(例:touch /var/log/local4.log)。

これは以前に次のように発生しました: rsyslogにログファイルがない場合に作成するように指示する方法は? その質問はファイルの削除について尋ねます。 logrotateを介したファイルローテーションも同様のケースです。

0
Jeff Schaller