log4php初步使用

简介

apache出品必属精品。正宗php日志库,与log4j一脉相承。

http://logging.apache.org/log4php/

安装

参考:http://logging.apache.org/log4php/install.html

  • 有root权限,安装到系统目录

    sudo apt-get install php-pear
    sudo pear channel-discover pear.apache.org/log4php
    sudo pear install log4php/Apache_log4php
    
  • 没有root权限,安装到当前目录下

    cd libs
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4php/2.3.0/apache-log4php-2.3.0-src.tar.gz
    tar xzvf apache-log4php-2.3.0-src.tar.gz
    ln -sf apache-log4php-2.3.0/src/main/php ./log4php
    

使用

  • 进行一下封装定制,可以满足绝大部分情况下的使用

    • 类似nginx的访问日志记录格式
    • 日志中输出文件名及行号
    • 日志文件数据限制为10个,每个日志文件大小为10MB

    logging.inc

  • 使用示例

    example.php

    <?php
    define('LOGGING_APPNAME', 'example');
    require_once(dirname(__FILE__) . "/logging.inc");
    
    $logger = Logger::getLogger("main");
    $logger->debug("info log");
    $logger->warn("info log");
    $logger->error("info log");
    ?>
    
  • 运行结果

    $ php ./example.php
    $ tail -f ./logs/example.log
    2013-05-06 18:24:57,925 [DEBUG] main: info log (/home/tangxinfa/php/example.php:6)
    2013-05-06 18:24:57,930 [WARN] main: info log (/home/tangxinfa/php/example.php:7)
    2013-05-06 18:24:57,930 [ERROR] main: info log (/home/tangxinfa/php/example.php:8)