我非常想念有关Log4perl easy_init
中每一行日志级别的信息。我正在运行一个大型迁移脚本,该脚本在某些特殊记录中失败,所以我需要grep WARN
和ERROR
s,但是需要INFO
rmation上下文来修复它们。 / p>
使用此代码:
#!/usr/bin/perl
use strict; use warnings;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($INFO);
TRACE "bar";
DEBUG "baz";
INFO "qux";
WARN "quux";
ERROR "corge";
FATAL "grault";
现在,我得到了这个输出:
2013/06/02 13:08:48 qux
2013/06/02 13:08:48 quux
2013/06/02 13:08:48 corge
2013/06/02 13:08:48 grault
我不想在日志消息中添加此信息,因为它已经包含在我调用的日志函数中。
如何使用easy_init
添加日志级别?我不想在一个相当小的脚本中使用配置文件(即使包含内联)初始化“常规”Log4perl,我喜欢easy_init
,因为它清晰简洁。
答案 0 :(得分:4)
easy_init
还接受哈希作为参数,这些参数支持扩展配置,例如日志文件和布局。 %-5p
将打印日志级别,左对齐为五个字符。
#!/usr/bin/perl
use strict; use warnings;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init({
level => $INFO,
layout => '%d %-5p %m%n'
});
TRACE "bar";
DEBUG "baz";
INFO "qux";
WARN "quux";
ERROR "corge";
FATAL "grault";
现在输出
2013/06/02 13:08:56 INFO qux
2013/06/02 13:08:56 WARN quux
2013/06/02 13:08:56 ERROR corge
2013/06/02 13:08:56 FATAL grault
对于其他占位符,请查看Log4perl's PatternLayout documentation。