你可以使用一個filters:
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
你如何決定,這是 「_significant_」? 「_events_」是什麼意思 - 在事件驅動的編程中,或者在通用意義上,只是消息(打印等)? – zdim
我的意思是「事件」在一個非常普遍的意義上,就是出現一些對用戶來說很重要的事情,例如增加一個新客戶。至於我怎麼決定,它取決於可能性,類似於一個新的水平,說「注」和'$記錄器 - >注意(......);' – MeirG
考慮到開放性在決策方面(在代碼中),可能使用[自定義過濾器](http://search.cpan.org/~mschilli/Log-Log4perl-1.47/lib/Log/Log4perl .pm#Custom_Filters)可能有幫助嗎?有一個單獨的類,[Log :: Log4Perl :: Filter](http://search.cpan.org/~mschilli/Log-Log4perl-1.47/lib/Log/Log4perl/Filter.pm)。 – zdim