zoukankan      html  css  js  c++  java
  • perl 安装LOG4perl 模块

    环境信息

    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
  • 相关阅读:
    ShellExecuteEx 函数说明
    npm
    Byte和char
    如何高效阅读一个项目
    C++中慎用malloc
    #ifdef
    string
    C++与C混合编译
    git@github.com: Permission denied (publickey).
    connect to host github.com port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/chenfool/p/7027383.html
Copyright © 2011-2022 走看看