0

php を使用するクライアントで実行されているカスタム アプリケーションがあり、そのログはlog4php.properties(たとえばDEBUGまたはINFO) によって制御されますが、既存のログ設定に加えて、これらのログをsyslog-ng実行中のサーバーに送信したいと考えています。

以下は、クライアント(phpアプリケーションが実行されている場所)での私のsyslog-ng構成です。
ファイル -/etc/syslog-ng/syslog-ng.confエントリ、

destination loghost {
        tcp("192.168.1.123" port(5140));
};
log {
        source(src);
        destination(loghost);
};

クライアントlog4php.propertiesでは、
log4php.appender.A2=LoggerAppenderSyslog
log4php.appender.A2.MaxFileSize=10MB
log4php.appender.A2.Priority=DEBUG
log4php.appender.A1.layout.ConversionPattern="%d{d M Y} %d{ABSOLUTE} %X{server.REMOTE_ADDR} %c{2} %-5p %m %n"

ただし、アプリケーションによって生成されたログは、syslog フォルダーの下の user-log というファイルで確認できます。質問は、ログ エントリをカスタマイズするにはどうすればよいですか? これらのログを他のファイル名に移動することは可能ですか?

ポインタは非常に役に立ちます。

ありがとう。

4

1 に答える 1

0

プロパティ ファイル形式は、現在のバージョンの log4php では推奨されていないことに注意してください。より良い形式にアップグレードしてください。私は常にネイティブの PHP 配列を好みますが、XML も同様にうまく機能します。

あなたの構成は、いくつかの詳細で意味がありません:

  • syslog アペンダーの MaxFileSize はありません。
  • レイアウトは、「A1」ではなく、アペンダー「A2」用にする必要があります

一部のデータが欠落しています:

  • デフォルトの「Apache lopg4php」が気に入らない場合は、ident 文字列を指定する必要があります。
  • どの施設にログオンしますか? デフォルトは「ユーザー」です。
  • どの優先度を使用しますか? 優先度を上書きしないように定義すると、ログに記録されたイベントのログ レベルがここで使用されますが、log4php が提供するレベルは syslog が提供するレベルに完全にはマップされません。ここで定義された優先度を使用することは、最初は良い考えかもしれません。

詳細については、ドキュメントを参照してください: http://logging.apache.org/log4php/docs/appenders/syslog.html

于 2012-10-12T23:19:04.603 に答える