1

重要なイベント メッセージを別のログ ファイルに収集する必要があります。(通常のログはかなり肥大化しており、メンテナンスを目的としていますが、ユーザーはほとんどのイベントにしか関心がありません。)

すべての ERROR レベル以上のイベントは「重要」と見なされますが、イベントはレベルに関連していません。このようなイベントの多くは、INFO または WARN レベルです。したがって、レベルのしきい値またはマッチングは答えではないようです。

また、イベントは階層の特定のブランチに限定されません。これらはアプリケーション全体から発生する可能性があるため、「カテゴリ」も適合しないように思われますか?

編集: 現在、INFOレベルの一般、メンテナンスロガー、およびWARNレベルのスクリーンロガーがあります

Log::Log4perl でそのようなロガーを実現する方法はありますか?

よろしく

メイア

4

2 に答える 2

2

フィルターを使用できます:

log4perl.logger = WARN, Log1, Log2
log4perl.filter.Filter1       = sub { ... }
log4perl.filter.Filter2       = sub { ... }
log4perl.appender.Log1        = Log::Log4perl::Appender::Screen
log4perl.appender.Log1.Filter = Filter1
log4perl.appender.Log2        = Log::Log4perl::Appender::File
log4perl.appender.Log2.Filter = Filter2

または、から継承した独自のフィルター パッケージを作成できますLog::Log4perl::Filter

log4perl.logger = WARN, Log1, Log2
log4perl.filter.Filter1       = MyApp::Log::Filter1
log4perl.filter.Filter2       = MyApp::Log::Filter2
log4perl.appender.Log1        = Log::Log4perl::Appender::Screen
log4perl.appender.Log1.Filter = Filter1
log4perl.appender.Log2        = Log::Log4perl::Appender::File
log4perl.appender.Log2.Filter = Filter2
于 2016-04-30T06:54:56.150 に答える