来源:蜘蛛抓取(WebSpider)
时间:2016-03-15 06:55
标签:
log4net无法输出日志
Log4php是php常用的日志组件。在一般的项目中,方便查看日志,一般都是按小时切换日志。下面通过一个demo来讲解Log4php的使用
1、将Log4php源码拷贝到工程中,配置log4php.properties文件,如下:
log4php.threshold = DEBUG
log4php.rootLogger = DEBUG, default
log4php.appender.default = LoggerAppenderDailyFile
log4php.appender.default.layout = LoggerLayoutPattern
log4php.appender.default.layout.ConversionPattern = &[%-5p] %d{Y-m-d H:i:s,u} &%C.%M:%L %m %n&
# 日志文件名格式为.log,也可以写为Y-m-d-H(-20.log)
log4php.appender.default.datePattern = YmdH&
log4php.appender.default.file = E:/logs/%s.log
2、写一个简单的工具类来记录日志
namespace Home\C
// 加载Logger.php文件,路径是通过配置的,也可以写成绝对路径
require_once(C('LOG4PHP_DIR').&/Logger.php&);
class LogUtil&
private static $
public static function getLogger() {
if(!isset($loginstance)){
// log4php.properties配置文件路径
\Logger::configure(C('LOG_DIR'));
$loginstance=\Logger::getLogger ('rrpin');
3、在其它模块中使用该工具记录日志
LogUtil::getLogger()-&info (&test&);
& & & &注:不能将info、error等函数写在LogUtil工具类中(LogUtil::info(&test&)),这样会导致日志文件中将所有的信息都定位到LogUtil类中
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4132次
排名:千里之外
原创:22篇
(5)(1)(1)(1)(2)(1)(2)(4)(2)(6)(5)(1)(1)(1)(2)第三方登录
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
一、下载Thinkphp3.2
二、下载Log4Php
三、开始整合
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"&
¶m name="conversionPattern" value="[%date{H:i:s,u}][%p][at %l][ip %server{REMOTE_ADDR}] - %m%newline%newline" /&
¶m name="file" value="Application/Runtime/Logs/log4php/Demo/%s.log" /&
¶m name="datePattern" value="Y-m-d" /&
&/appender&
&logger name="Demo"&
&appender_ref ref="Demo" /&
&level value="DEBUG" /&
&/configuration&
6.在ThinkPHPLibraryOrgUtil创建Log4php.class.php文件,复制一下内容到Log4php.class.php文件里
// +----------------------------------------------------------------------
// | Copyright (c)
All rights reserved.
// +----------------------------------------------------------------------
// | Author: 左鹏
// +----------------------------------------------------------------------
//----------------------------------
// Log4php入口
//----------------------------------
namespace OrgU
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);
7.开始使用
$log = OrgUtilLog4php::init('Demo');
$log-&info('内容');
把上面的代码复制到ApplicationHomeControllerIndexController.class.php里进行测试
恭喜你,到现在为止,你就可以使用log4php啦~~!posts - 267,&
comments - 23,&
trackbacks - 0
一、Log4php简介
&&&&& Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件、日志回滚文件、数据库、日志服务器等等;同时,还支持多种输入格式。
二、Log4php的搭建
(一)下载Log4php
&&&&& 到Log4php的官方网站就可以下载到Log4php,目前最新的版本是0.9,下载的地址是:
&&&&& 下载后,直接解压就可以。
(二)在工程里使用Log4php
1、工程的目录
&&&&& 工程的目录结构如下:
(1)include文件夹:包含第三方库的引用
(2)images文件夹:包含网站的图片
(3)js文件夹:包含网站的脚本文件
(4)css文件夹:包含网站的样式表
&&&&& 在include文件下,建立Log4php目录,然后将刚才解压的Log4php目录下的src文件夹下的log4php文件夹拷贝到该目录下,如下图所示:
&&&& 以上完成了工程目录结构的创建。
2、创建Log4php的配置文件
&&&& 在项目目录下,建立log4php.properties文件,内容如下:
log4php.rootLogger=DEBUG,&A1&&
log4php.appender.A1=LoggerAppenderRollingFile&&
log4php.appender.A1.file=webdisk.log&&
log4php.appender.A1.layout=LoggerLayoutTTCC&&
log4php.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd&&&HH:mm:ss}&&&[%t]&&&%C{1}:%M&&&%p&&&%m%n&&
log4php.appender.A1.MaxFileSize=1024&&
log4php.appender.A1.MaxBackupIndex=3&&
3、创建测试页
&&&& 在项目目录下创建test_log.php文件,内容如下:
define(LOG4PHP_DIR,&"include/log4php");&&
require_once(LOG4PHP_DIR&.&'/LoggerManager.php');&&
$str&=&"here&is&test&string!";&&
echo&"这里是PHP的输出,&与log4php无关哟!&br&";&&
$logger&=&LoggerManager::getLogger('test');&&
if&(""&!=&$str)&{&&
&&&&&&$logger-&debug("str的值不为空!&它的值为:&"&.&$str&.&"&br&");&&
if&(strlen($str)&&&4)&{&&
&&&&$logger-&debug("str的长度大于4!"&.&"&br&");&&
LoggerManager::shutdown();&&
&&&& 创建完成后,工程的目录结构如下:
&&&& 运行该文件,会在目录下生成webdisk.log文件,此时项目的目录结构如下:
&&& 日志文件的内容如下:
版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读(...) 评论()