ifステートメントがrsyslogでは機能しないようです。

ifステートメントがrsyslogでは機能しないようです。

使ってみようRainerScriptの構文私のDebian/etc/rsyslog.confファイルに。デーモンの内容を特定のファイルに記録したいのですが、pppd追加した内容は次のとおりです。

if $programname == 'pppd' then {
    daemon.*;local2.*   -/var/log/pppd.log
}

その後、rsyslogサービスを再起動しました。内容はこのファイルに書き込まれますが、このファイルから内容もインポートされるため、その文namedif無視されるように見えるか、常にtrueと評価されます。なぜですか?私のコードに間違いがありましたか?

ベストアンサー1

努力する:

if $programname == 'pppd' and $syslogfacility-text =='daemon' and $syslogfacility-text == 'local2' then /var/log/pppd.log
if $programname == 'pppd' then ~

行 1 は、/var/log/pppd.log ファイルのロギングを示しています。

2行目にはログファイルがなくなり、チルダは実際には「削除」を意味するため、「OK、ファイルへのログ記録を停止」と表示されます。

おすすめ記事