库下载地址:
http://logging.apache.org/log4php/download.html
当前测试使用的版本为2.3.0
1.解压缩下载的压缩文件apache-log4php-2.3.0-src.zip
拷贝/src/main/php目录下的所有文件到项目目录。比如log4php目录
2.在项目目录建立log4php配置文件log4php.xml(文件名任意)
内容如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns="http://logging.apache.org/log4php/"> <appender name="TestFileAppender" class="LoggerAppenderFile"> <layout class="LoggerLayoutPattern"> <param name="conversionPattern" value="%date [%logger] %message%newline" /> </layout> <param name="file" value="logs/event.log" /> </appender> <root> <level value="DEBUG" /> <appender_ref ref="TestFileAppender" /> </root> </configuration>
3.在项目目录下建立test_log.php文件
内容如下
//加载Log4php类库 include_once(dirname(__FILE__).'/log4php/Logger.php'); //初始化配置 Logger::configure('log4php.xml'); //获取日志类 $logger = Logger::getLogger('test'); //写入日志 $logger->info("info日志内容"); $logger->error("error日志内容"); $logger->debug("debug日志内容");
4.执行test_doc.php
得到结果
2015-01-15T07:56:46+01:00 [test] info日志内容 2015-01-15T07:56:46+01:00 [test] error日志内容 2015-01-15T07:56:46+01:00 [test] debug日志内容
5.附加:
如果时区错误,请在设置时加上
//设置时区 date_default_timezone_set('asia/hong_kong');
即可设置为北京时间了。
Monolog:PHP 日志记录工具
Monolog是php下比较全又容易扩展的记录日志组件。目前有包括Symfony 、Laravel、 CakePHP等诸多知名php框架都内置了Monolog。
Monolog可以把你的日志发送到文件,sockets,收件箱,数据库和各种web服务器上。一些特殊的组件可以给你带来特殊的日志策略。
使用例子
<?php use MonologLogger; use MonologHandlerStreamHandler; // create a log channel $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // add records to the log $log->addWarning('Foo'); $log->addError('Bar');
核心概念
每个Logger实例都有一个通道和日志处理器栈。每当你添加一条日志记录,它会被发送到日志处理器栈。 你可以创建很多Logger,
每个Logger定义一个通道(db,请求,路由),每个Logger有很多日志处理器。这些通道会过滤日志。
每个日志处理器都有一个Formatter(内置的日志显示格式处理器)。你还可以设定日志级别。
日志级别
- DEBUG:详细的debug信息
- INFO:感兴趣的事件。像用户登录,SQL日志
- NOTICE:正常但有重大意义的事件。
- WARNING:发生异常,使用了已经过时的API。
- ERROR:运行时发生了错误,错误需要记录下来并监视,但错误不需要立即处理。
- CRITICAL:关键错误,像应用中的组件不可用。
- ALETR:需要立即采取措施的错误,像整个网站挂掉了,数据库不可用。这个时候触发器会通过SMS通知你,
Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
安装: