'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
// 下面显示页面日志
array(
'class'=>'CWebLogRoute',
'levels'=>'trace', //级别为trace
'categories'=>'system.db.*' //只显示关于数据库信息,包括数据库连接,数据库执行语句
),
// uncomment the following to show log messages on web pages
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
<?php
/**
* author : forecho <caizhenghai@gmail.com>
* createTime : 2015/12/22 18:13
* description:
*/
namespace common\components;
use Yii;
use yii\helpers\FileHelper;
class FileTarget extends \yii\log\FileTarget
{
/**
* @var bool 是否启用日志前缀 (@app/runtime/logs/error/20151223_app.log)
*/
public $enableDatePrefix = false;
/**
* @var bool 启用日志等级目录
*/
public $enableCategoryDir = false;
private $_logFilePath = '';
public function init()
{
if ($this->logFile === null) {
$this->logFile = Yii::$app->getRuntimePath() . '/logs/app.log';
} else {
$this->logFile = Yii::getAlias($this->logFile);
}
$this->_logFilePath = dirname($this->logFile);
// 启用日志前缀
if ($this->enableDatePrefix) {
$filename = basename($this->logFile);
$this->logFile = $this->_logFilePath . '/' . date('Ymd') . '_' . $filename;
}
if (!is_dir($this->_logFilePath)) {
FileHelper::createDirectory($this->_logFilePath, $this->dirMode, true);
}
if ($this->maxLogFiles < 1) {
$this->maxLogFiles = 1;
}
if ($this->maxFileSize < 1) {
$this->maxFileSize = 1;
}
}
}
'components' => [
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
/**
* 错误级别日志:当某些需要立马解决的致命问题发生的时候,调用此方法记录相关信息。
* 使用方法:Yii::error()
*/
[
'class' => 'common\components\FileTarget',
// 日志等级
'levels' => ['error'],
// 被收集记录的额外数据
'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION','_SERVER'],
// 指定日志保存的文件名
'logFile' => '@app/runtime/logs/error/app.log',
// 是否开启日志 (@app/runtime/logs/error/20151223_app.log)
'enableDatePrefix' => true,
'maxFileSize' => 1024 * 1,
'maxLogFiles' => 100,
],
/**
* 警告级别日志:当某些期望之外的事情发生的时候,使用该方法。
* 使用方法:Yii::warning()
*/
[
'class' => 'common\components\FileTarget',
// 日志等级
'levels' => ['warning'],
// 被收集记录的额外数据
'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION','_SERVER'],
// 指定日志保存的文件名
'logFile' => '@app/runtime/logs/warning/app.log',
// 是否开启日志 (@app/runtime/logs/warning/20151223_app.log)
'enableDatePrefix' => true,
'maxFileSize' => 1024 * 1,
'maxLogFiles' => 100,
],
/**
* info 级别日志:在某些位置记录一些比较有用的信息的时候使用。
* 使用方法:Yii::info()
*/
[
'class' => 'common\components\FileTarget',
// 日志等级
'levels' => ['info'],
// 被收集记录的额外数据
'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION','_SERVER'],
// 指定日志保存的文件名
'logFile' => '@app/runtime/logs/info/app.log',
// 是否开启日志 (@app/runtime/logs/info/20151223_app.log)
'enableDatePrefix' => true,
'maxFileSize' => 1024 * 1,
'maxLogFiles' => 100,
],
/**
* trace 级别日志:记录关于某段代码运行的相关消息。主要是用于开发环境。
* 使用方法:Yii::trace()
*/
[
'class' => 'common\components\FileTarget',
// 日志等级
'levels' => ['trace'],
// 被收集记录的额外数据
'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION','_SERVER'],
// 指定日志保存的文件名
'logFile' => '@app/runtime/logs/trace/app.log',
// 是否开启日志 (@app/runtime/logs/trace/20151223_app.log)
'enableDatePrefix' => true,
'maxFileSize' => 1024 * 1,
'maxLogFiles' => 100,
],
],
],
],
Yii::log($message,CLogger::LEVEL_ERROR,$category);
/**
* Initializes this application component.
* This method is required by the IApplicationComponent interface.
*/
public function init(){
parent::init();
foreach($this->_routes as $name=>$route) {
$route=Yii::createComponent($route);
$route->init();
$this->_routes[$name]=$route;
}
Yii::getLogger()->attachEventHandler('onFlush',array($this,'collectLogs'));
Yii::app()->attachEventHandler('onEndRequest',array($this,'processLogs'));}
if($this->hasEventHandler('onEndRequest')) {
$this->onEndRequest(new CEvent($this));
}
$logs=$logger->getLogs($this->levels,$this->categories); //执行过滤,只得到期望信息
CFileLogRoute::processLogs($logs);
'preload'=>array('log'),
components => array(
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning,trace',
),
)
)
)
if($this->hasEventHandler('onEndRequest')) {
$this->onEndRequest(new CEvent($this));
}
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning,trace', ), array( 'class' => 'myEmailLogRoute', 'levels' => 'error', #所有异常的错误级别均为error, 'categories' => 'exception.CDbException', #数据库产生错误时,均会产生CDbException异常。 'host' => 'mail.163.com', 'port' => 25, 'user' => 'jeff_yu', 'password' => 'you password', 'timeout' => 30, 'emails' => 'jeff_yu@gmail.com', #日志接收人。 'sentFrom' => 'jeff_yu@gmail.com', ),
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有