2011-01-12 61 views

回答

2

此任務可能對easy_init安裝過多,因爲您需要使用過濾器來實現該效果。正常設置你可以這樣做:

use Log::Log4perl qw(:easy); 

Log::Log4perl->init(\ qq{ 
    log4perl.logger = INFO, AppInfo, AppError 

    # Filter to match level ERROR 
    log4perl.filter.MatchError = Log::Log4perl::Filter::LevelMatch 
    log4perl.filter.MatchError.LevelToMatch = ERROR 
    log4perl.filter.MatchError.AcceptOnMatch = true 

    # Filter to match level INFO 
    log4perl.filter.MatchInfo = Log::Log4perl::Filter::LevelMatch 
    log4perl.filter.MatchInfo.LevelToMatch = INFO 
    log4perl.filter.MatchInfo.AcceptOnMatch = true 

    # Error appender 
    log4perl.appender.AppError = Log::Log4perl::Appender::Screen 
    log4perl.appender.AppError.stderr = 1 
    log4perl.appender.AppError.layout = SimpleLayout 
    log4perl.appender.AppError.Filter = MatchError 

    # Info appender 
    log4perl.appender.AppInfo = Log::Log4perl::Appender::Screen 
    log4perl.appender.AppInfo.stderr = 0 
    log4perl.appender.AppInfo.layout = SimpleLayout 
    log4perl.appender.AppInfo.Filter = MatchInfo 
}); 

ERROR "Error"; 
INFO "Info"; 
+0

我可以有辦法,當我寫錯誤日誌,那麼我的腳本應該立即退出? – 2014-07-23 06:18:07