2011-05-10 27 views

回答

11

如果您已經從Log::Log4perl::Level進口的日誌級別常量,那麼你可以做這樣的事情:

$logger->level($ERROR); # one of DEBUG, INFO, WARN, ERROR, FATAL 

$logger->more_logging($delta); # Increase log level by $delta levels, 
           # a positive integer 

$logger->less_logging($delta); # Decrease log level by $delta levels. 

這是在Log::Log4perl docsChanging the Log Level on a Logger部分。

+0

好吧,但我將如何指定我想更改日誌級別的包? – 2011-06-13 12:53:56

2

這似乎有點哈克給我,但它的工作原理:

$Log::Log4perl::Logger::APPENDER_BY_NAME{SCREEN}->threshold($DEBUG);

,並使其更有活力,你可以在該追加程序名稱和級別變量傳遞。

%LOG4PERL_LEVELS = 
(
    OFF =>$OFF, 
    FATAL =>$FATAL, 
    ERROR =>$ERROR, 
    WARN =>$WARN, 
    INFO =>$INFO, 
    DEBUG =>$DEBUG, 
    TRACE =>$TRACE, 
    ALL =>$ALL 
); 

$Log::Log4perl::Logger::APPENDER_BY_NAME{$appender_name}->threshold($LOG4PERL_LEVELS{$new_level}); 
相關問題