web-dev-qa-db-ja.com

フィルタルールを使用して、syslogdからの削除をリダイレクトします

これを/etc/rsyslog.d/myapp.confに追加すると、メッセージが専用のログファイルに送信されます。

:programname, isequal, "myapp" /var/log/myapp.log

ログメッセージは新しいログファイルに記録されますが、/var/log/syslogにも配置されます。どうすればこれを防ぐことができますか?私はこれを試しましたが、機能しません:

:programname, isequal, "myapp" -/var/log/myapp.log
:programname, isequal, "myapp" /var/log/myapp.log & stop
:programname, isequal, "myapp" -/var/log/myapp.log & stop
1
Jacob

試行錯誤の結果、次のことがうまくいくことがわかりました。

:programname, isequal, "myapp" /var/log/myapp.log
:programname, isequal, "myapp" ~

注:

  • その最新バージョンのrsyslogは、明らかに~よりもstopを好みます。
  • 上記のコメントのように、次の行に& stopを追加することで同じことを達成できる可能性がありますが、私はこれをテストしていません。
1
Jacob