1
我使用目前發送INFO及以上STDOUT:Log4perl:獨立的信息和錯誤文件使用easy_init
Log::Log4perl->easy_init({level=>("$INFO"), layout=>"%d %p - %m%n", file=>"STDOUT"});
我怎麼能發送錯誤及以上STDERR?
我使用目前發送INFO及以上STDOUT:Log4perl:獨立的信息和錯誤文件使用easy_init
Log::Log4perl->easy_init({level=>("$INFO"), layout=>"%d %p - %m%n", file=>"STDOUT"});
我怎麼能發送錯誤及以上STDERR?
此任務可能對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";
我可以有辦法,當我寫錯誤日誌,那麼我的腳本應該立即退出? – 2014-07-23 06:18:07