您的位置:首页 > 编程语言 > PHP开发

log4php将不同级别的日志打印到不同的日志文件中

2014-12-09 11:06 381 查看
有时为了好查看error日志,需要将error级别以上的日志打印到单独的日志文件中,下面介绍log4php如何配置来实现这种方法

1、配置日志文件,由于要使用到过滤器,所以只能使用php配置文件或者xml配置文件,下面只介绍php配置文件的配置,新建一个log4php.php的文件,配置项如下

<?php

return array (

'rootLogger' => array (

'appenders' => array ('all','error' )

),

'appenders' => array (

'all' => array ( // 打印所有日志信息

'class' => 'LoggerAppenderDailyFile',

'layout' => array (

'class' => 'LoggerLayoutPattern',

'params' => array (

'conversionPattern' => '[%-5p] %d{Y-m-d H:i:s,u} %C.%M:%L %m %n'

)

),

'params' => array (

'datePattern' => 'YmdH',

'file' => 'E:/logs/%s.log', // /alidata/rrpin/logs/%s.log

'append' => true

)

),

'error' => array ( // 只打印warn 以上级别的日志信息

'class' => 'LoggerAppenderDailyFile',

'layout' => array (

'class' => 'LoggerLayoutPattern',

'params' => array (

'conversionPattern' => '[%-5p] %d{Y-m-d H:i:s,u} %C.%M:%L %m %n'

)

),

'params' => array (

'datePattern' => 'YmdH',

'file' => 'E:/logs/error_%s.log', // /alidata/rrpin/logs/%s.log

'append' => true

),

'filters' => array ( // 过滤器

array (

'class' => 'LoggerFilterLevelRange',

'params' => array (

'levelMin' => 'warn',

'levelMax' => 'fatal'

)

)

)

)

)

);

?>

2、编写简单的工具类LogUtil来使用Log4php

<?php

namespace Home\Common;

// Log4php 路径

require_once(C('LOG4PHP_DIR')."/Logger.php");

class LogUtil

{

private static $loginstance;

public static function getLogger() {

if(!isset($loginstance)){

// log4php.php配置文件路径

\Logger::configure(C('LOG_DIR'));

$loginstance=\Logger::getLogger ('test');

}

return $loginstance;

}

}

3、在其它模块中使用该工具类

LogUtil::getLogger()->error("error");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: