网站首页文章详情

Thinkphp3.2与log4php的整合

发布时间:2015-02-28 17:09编辑:胜男

一、下载Thinkphp3.2

http://www.thinkphp.cn/donate/download/id/610.html

二、下载Log4Php

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

三、开始整合

1.把Log4php解压提取apache-log4php-2.3.0srcmainphp目录

2.把php目录复制到ThinkPHPLibraryOrgUtil目录里,如下图

3.重命名php目录,我改为log4php230(方便记住版本号)

4.log4php目录里创建config.xml配置文件(一定要是UTF8的)

5.复制以下内容到config.xml文件里(我们用的是LoggerLayoutPattern(灵活布局)的例子,本人比较推荐用这个,后期添加另一个日志的时候只需要修改这个XML文件就可以了,关于LoggerLayoutPattern可以看下官网的介绍,只可惜是英文的~

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://logging.apache.org/log4php/">
    
    <!--测试日志-->
    <appender name="Demo" class="LoggerAppenderDailyFile">
        <layout class="LoggerLayoutPattern">
            <param name="conversionPattern" value="[%date{H:i:s,u}][%p][at %l][ip %server{REMOTE_ADDR}] - %m%newline%newline" />
        </layout>
        <param name="file" value="Application/Runtime/Logs/log4php/Demo/%s.log" />
        <param name="datePattern" value="Y-m-d" />
    </appender>
    <logger name="Demo">
        <appender_ref ref="Demo" />
    </logger>

    <root>
        <level value="DEBUG" />
    </root>
</configuration>

6.ThinkPHPLibraryOrgUtil创建Log4php.class.php文件,复制一下内容到Log4php.class.php文件里


// +----------------------------------------------------------------------
// | Copyright (c) 2014-2015  All rights reserved.
// +----------------------------------------------------------------------
// | Author: 左鹏 
// +----------------------------------------------------------------------
//----------------------------------
// Log4php入口
//----------------------------------
namespace OrgUtil;
class Log4php {
    static public function init($logger){
        $path = './ThinkPHP/Library/Org/Util/log4php230/';
        include_once  $path.'Logger.php';
        Logger::configure($path.'config.xml');
        if(Logger::exists($logger)){
            return Logger::getLogger($logger);
        }else{
            return false;
        }
    }
}
?>

7.开始使用

$log = OrgUtilLog4php::init('Demo');
$log->info('内容');

把上面的代码复制到ApplicationHomeControllerIndexController.class.php里进行测试


Thinkphp+log4php代码下载


恭喜你,到现在为止,你就可以使用log4php~~