环境信息
ubuntu 12.04 64位 桌面版
Log-Log4perl 的介绍网址:http://search.cpan.org/~mschilli/Log-Log4perl-1.49/lib/Log/Log4perl.pm
下载链接
wget http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz
安装
perl Makefile.PL make && make install
测试LOG4perl 模块的配置文件 log.conf
log4perl.category.Foo.Bar=DEBUG,Logfile,Screen log4perl.rootLogger=DEBUG,Logfile,Screen log4perl.appender.Logfile=Log::Log4perl::Appender::File log4perl.appender.Logfile.filename= sub { return &log4::set_log_name(); } log4perl.appender.Logfile.layout=Log::Log4perl::Layout::PatternLayout log4perl.appender.Logfile.layout.ConversionPattern =%d{yyyy/M/d HH:mm:ss} %F %L - %m%n log4perl.appender.Screen = Log::Log4perl::Appender::Screen log4perl.appender.Screen.stderr = 0 log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Screen.layout.ConversionPattern =%d{yyyy/M/d HH:mm:ss} %F %L - %m%n
测试test.pl 程序
#!/usr/bin/perl package log4; use strict; use FindBin qw($Bin); use lib "$Bin/lib"; print "$Bin "; use Log::Log4perl qw(get_logger); my $log = get_logger(__PACKAGE__); my $log_name="log4.log"; my $log_conf = "log.conf"; print "$log_conf "; # Check config every 60 secs Log::Log4perl::init_and_watch($log_conf,60); $log->debug("Debug message"); $log->info("Info message"); $log->error("Error message"); $log->info(&ping); sub ping { my @ping=readpipe("ping -c 4 127.0.0.1"); return @ping; } sub set_log_name { return $log_name; }
执行测试程序命令
perl test.pl
打印结果
log.conf 2017/6/16 14:23:10 test.pl 17 - Debug message 2017/6/16 14:23:10 test.pl 18 - Info message 2017/6/16 14:23:10 test.pl 19 - Error message 2017/6/16 14:23:13 test.pl 20 - PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.032 ms 64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.027 ms 64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.026 ms 64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.027 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.026/0.028/0.032/0.002 ms
并且日志文件 log4.log 内容如下
2017/6/16 14:24:34 test.pl 17 - Debug message 2017/6/16 14:24:34 test.pl 18 - Info message 2017/6/16 14:24:34 test.pl 19 - Error message 2017/6/16 14:24:37 test.pl 20 - PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.023 ms 64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.028 ms 64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.028 ms 64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.027 ms --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.023/0.026/0.028/0.005 ms