博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Log4perl 的使用
阅读量:6542 次
发布时间:2019-06-24

本文共 3495 字,大约阅读时间需要 11 分钟。

Perl 使用Log4perl

首先下载log4 module :

解压配置:

这里只用到lib目录下的文件,可以将其他目录删除。

如何使用这个模块:

新增一个名为log4perl.conf的文件,放在lib目录下

配置如下:

这里使用自定义的package: log4用来设置log路径

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

使用log4perl.conf

#!/usr/bin/perlpackage log4;use strict;use FindBin qw($Bin);use lib "$Bin/lib";print "$Bin\n";use Log::Log4perl qw(get_logger);my $log = get_logger(__PACKAGE__);my $log_name="log4.log";my $log_conf = "$Bin/lib/log4perl.conf";print "$log_conf\n";# 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 127.0.0.1");    return @ping;}sub set_log_name{    return $log_name;}

其中:

$log->trace("..."); # Log a trace message

$log->debug("..."); # Log a debug message
$log->info("..."); # Log a info message
$log->warn("..."); # Log a warn message
$log->error("..."); # Log a error message
$log->fatal("..."); # Log a fatal message

 

运行结果如下:

D:\perl>perl log4test.pl

D:/perl
D:/perl/lib/log4perl.conf
2014/4/22 14:40:29 log4test.pl 17 - Debug message
2014/4/22 14:40:29 log4test.pl 18 - Info message
2014/4/22 14:40:29 log4test.pl 19 - Error message
2014/4/22 14:40:33 log4test.pl 20 -
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

 

生成log内容是:

2014/4/22 14:40:29 log4test.pl 17 - Debug message

2014/4/22 14:40:29 log4test.pl 18 - Info message
2014/4/22 14:40:29 log4test.pl 19 - Error message
2014/4/22 14:40:33 log4test.pl 20 -
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 127.0.0.1:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

也可以直接将配置文件放入脚本

my $conf = q(    log4perl.category.Foo.Bar          = INFO, Logfile, Screen    log4perl.appender.Logfile          = Log::Log4perl::Appender::File    log4perl.appender.Logfile.filename = test.log    log4perl.appender.Logfile.layout   = Log::Log4perl::Layout::PatternLayout    log4perl.appender.Logfile.layout.ConversionPattern = [%r] %F %L %m%n    log4perl.appender.Screen         = Log::Log4perl::Appender::Screen    log4perl.appender.Screen.stderr  = 0    log4perl.appender.Screen.layout = Log::Log4perl::Layout::SimpleLayout  );     # ... passed as a reference to init()  Log::Log4perl::init( \$conf );

 

转载地址:http://rvodo.baihongyu.com/

你可能感兴趣的文章
MapXtreme 2005 学习心得 概述(一)
查看>>
php进一法取整、四舍五入取整、忽略小数等的取整数方法大全
查看>>
Hibernate的拦截器和监听器
查看>>
游戏中学习Bash技能
查看>>
ubuntu 12.04系统托盘不显示ibus输入法图标的解决方法
查看>>
WSDP
查看>>
Memory Management
查看>>
The Packaging Process in Yocto/OE
查看>>
JQUERY 对 表格中的数据重排序
查看>>
程序员常用借口指南
查看>>
关于PXE网络安装linux系统中碰到的个别问题
查看>>
awk 常用方法
查看>>
Android网络框架实现之【Retrofit+RxJava】
查看>>
Android文件的加密与解密
查看>>
SOAP webserivce 和 RESTful webservice 对比及区别
查看>>
【原】记录一句话
查看>>
Android标题栏,状态栏
查看>>
Windows下安装Memcached for PHP
查看>>
hdu 1040 As Easy As A+B
查看>>
java笔记:SpringSecurity应用(二)
查看>>