PHP=ベースのサイトからのメッセージをログに記録するためにsyslogを使用したいと思います。私の質問は-カスタム機能名を追加できますか?次のような事前定義された機能があることを知っています:
auth, authpriv, cron, dæmon, kern, lpr, mail, mark, news, syslog, user, UUCP and local0 through local7.
そして、私が理解しているように、これにはlocal0-local6機能を使用できます。
しかし、syslogに次のようなものを追加できた場合、
mySiteName.* /var/log/mySiteName.log
他の人にとっては視覚的に理解しやすいでしょう。残念ながら、上記の結果は次のようになります。
rsyslogd-3000: unknown facility name "mySiteName"
では、カスタム施設名を使用する方法はありますか?
syslog インターフェースは、/usr/include/sys/syslog.h
の定数によって定義された固定の機能セットのみを許可します。カスタム機能の唯一の規定は、local0
からlocal7
までです。
さまざまなサーバーのログを分離するためにできることは、フィルターを使用して、各ログメッセージのオリジンまたはテキストを照合することです。 Rsyslogにはかなり強力な filters があります( マッチングに利用できるプロパティ を読んでください)。
質問に正確に当てはまるわけではありませんが、デーモンが独自の機能を提供していない場合の有用な例:
:programname, isequal, "uptimed" /var/log/uptimed.log