log4php 日志程序的简单应用

作者: jaclon 分类: PHP 发布时间: 2013-08-10 10:09 ė 6没有评论

log4j在JAVA中可算是大名鼎鼎的日志开发包了,它为apche组织维护项目,VxR兄使用php来实现了log4j的功能, 目前log4php已经作为log4j的一个子项目存在,详细信息可查看来源中官方网站。http://logging.apache.org/log4php/

下面看一下怎么把它应用以我们的项目中来。下载最新的安装包,我下的是apache-log4php-2.3.0-src.zip,将包中的apache-log4php-2.3.0\src\main\下的php目录拷贝到weixin项目根目录,将php重命名为log4php

以下是官方案例

// 加载入口文件
include('log4php/Logger.php');
 
// 告诉log4php使用哪个配置文件
Logger::configure('config.xml');
 
// 获取一个记录器,它将继承设置从根记录器
$log = Logger::getLogger('myLogger');
 
// 使用以一错误等级记录日志信息(从小到大)
$log->trace("My first message.");// Not logged because TRACE < WARN
$log->debug("My second message.");// Not logged because DEBUG < WARN
$log->info("My third message.");// Not logged because INFO < WARN
$log->warn("My fourth message.");// Logged because WARN >= WARN
$log->error("My fifth message.");// Logged because ERROR >= WARN
$log->fatal("My sixth message.");// Logged because FATAL >= WARN

以下重点说一下这个config.xml配置文件(我的一个项目中的配置)

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://logging.apache.org/log4php/">
    //指定日志记录方式,这里是记录到文件中,
	<appender name="myAppender" class="LoggerAppenderDailyFile">
	<param name="datePattern" value="Ymd" />//指定日期风格
     //指定日志文件名(相对位置)$s将被替换成Ymd格式的日期,
     //相当于每天一个日志文件
	<param name="file" value="logs/error_%s.log" />
        //指定日志风格
	<layout class="LoggerLayoutPattern">
            <param name="conversionPattern" 
value= "%d{ISO8601} [%p] %c: %m (at %F line %L)%n" />
        </layout>
	</appender>
	<appender name="file" class="LoggerAppenderDailyFile">
        <param name="datePattern" value="Ymd" />
        <param name="file" value="logs/access_%s.log" />
        <layout class="LoggerLayoutPattern">
            <param name="conversionPattern" 
value= "%d{ISO8601} [%p] %c: %m (at %F line %L)%n" />
        </layout>
        </appender>  
//默认日志记录器  
	<root>
		<level value="debug" />//错误级别
		<appender_ref ref="myAppender" />//使用哪个记录方式
	</root>
   //日志记录器名称,additivity="false"表示不写到默认日志记录器中,默认开启
    <logger name="access" additivity="false">
        <level value="INFO" />
        <appender_ref ref="file" />
    </logger>
</configuration>

根据上面的配置文件,我是这样使用的

Logger::configure('configs/log4php.xml');
//错误日志(使用配置中的root记录器,当前启用调试(debug)错误级别)
$errorlog = Logger::getLogger('error');
//访问日志(使用access记录器,当前启用信息(info)错误级别)
$accessLogger = Logger::getLogger('access');

将访问日志和错误日志分开,方便日志分析和控制

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2013/08/948.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部