[Perl]用log4perl记录日志

logger 是用于产生日志的对象,其中三个重要的属性:
1.  Levels :用于定义日志内容的优先级,包括DEBUG, INFO, WARN, ERROR, FATAL;
2.  Categories:  用于定义是日志来自系统的那一部分;
3.  Appenders :用于说明你的日志输出到哪里;
4.  Layout:  用来格式化每天输出日志的格式;

下面这个例子说明了该如何初始化、使用log4perl


01 ######### System initialization section ###
02 use Log::Log4perl qw(get_logger :levels);
03
04 my $food_logger = get_logger("Groceries::Food");
05 $food_logger->level($INFO);
06
07 # Appenders
08 my $appender = Log::Log4perl::Appender->new(
09 "Log::Dispatch::File",
10 filename => "test.log",
11 mode => "append",
12 );
13
14 $food_logger->add_appender($appender);
15
16 # Layouts
17 my $layout =
18 Log::Log4perl::Layout::PatternLayout->new(
19 "%d %p> %F{1}:%L %M - %m%n");
20 $appender->layout($layout);
21
22 ######### Run it ##########################
23 my $food = Groceries::Food->new("Sushi");
24 $food->consume();
25
26 ######### Application section #############
27 package Groceries::Food;
28
29 use Log::Log4perl qw(get_logger);
30
31 sub new {
32 my($class, $what) = @_;
33
34 my $logger = get_logger("Groceries::Food");
35
36 if(defined $what) {
37 $logger->debug("New food: $what");
38 return bless { what => $what }, $class;
39 }
40
41 $logger->error("No food defined");
42 return undef;
43 }
44
45 sub consume {
46 my($self) = @_;
47
48 my $logger = get_logger("Groceries::Food");
49 $logger->info("Eating $self->{what}");
50

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值