2
我与log4perl试验和在一个奇怪的问题就来了:log4perl:logcluck不断显示
配置我log4perl记录一切之上DEBUG级别,我要输出的一切文件,但是,我只想在屏幕上显示错误或致命错误。所以这是我的配置文件:
#############################################################################################################################
## Logger ##
#############################################################################################################################
log4perl.logger = DEBUG, fileLog, screenLog
#############################################################################################################################
## File Log (all levels) ##
#############################################################################################################################
log4perl.appender.fileLog = Log::Log4perl::Appender::File
log4perl.appender.fileLog.filename = error_log
log4perl.appender.fileLog.mode = append
log4perl.appender.fileLog.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.fileLog.layout.ConversionPattern = %d [%p] [%F line %L] %m%n
#############################################################################################################################
## Screen Log (only error level or higher) ##
#############################################################################################################################
log4perl.appender.screenLog = Log::Log4perl::Appender::Screen
log4perl.appender.screenLog.Threshold = ERROR
log4perl.appender.screenLog.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.screenLog.layout.ConversionPattern = %d [%p] [%F line %L] %m%n
通知阈值设置为错误屏输出!这适用于常规的$ logger-> error和$ logger-> warn命令,这些错误会输出到文件和屏幕,只会向文件发出警告。
但是,当我尝试$ logger-> logcluck(“cluck”)时,即使cluck处于WARN级别,它仍然会输出到屏幕!
奇怪的是,如果我把我的文件门槛为ERROR它并不在我的文件中显示出来,如果我把我的总体水平为ERROR它没有在屏幕上任意显示..
任何想法,为什么这正在发生 ?
嗯是的,我在看模块文件的时候也看到了这个,这对log4perl来说是件奇怪的事情,为什么它会在日志记录后调用Carp :: cluck?有点击败了控制你的记录.. – Pmarcoen 2011-04-19 15:34:51