一直对Yii文件日志的配置没有关注,基本上都是默认配置,最近发现所有日志都写在一个文件里,并且日志文件都保存在Yii项目的runtime目录下,查看非常不方便,于是想将不同类型的日志进行拆分,并且单独放入空间较大的数据盘,稍微看了一下Yii的文件日志类,测试了一下相关配置,觉得配置还挺方便的,记录下来:
在main.php文件中,配置日志的地方
配置: 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning, info', 'categories'=> 'application.*',//日志文件分类,只有调用时使用了appplication都会默认写入默认文件application.log 'logPath'=>'/mnt/php/logs', //日志文件路径 'maxFileSize'=>5120,//日志大小 'maxLogFiles'=>20,//保存最大个数,Yii会按时间保留最近20个文件 ), array( 'class' => 'CFileLogRoute', 'levels' => 'error, warning,info', 'categories'=> 'db.*',//日志文件分类,db相关 'logFile'=> 'db.log',//保存数据库操作相关日志 'logPath'=>'/mnt/php/logs', //日志文件路径 'maxFileSize'=>5120,//日志大小5M,以kb为单位的 'maxLogFiles'=>20, ), array( 'class' => 'CFileLogRoute', 'levels' => 'trace', 'categories'=> 'debug.*', 'logFile'=> 'debug.log',//保存debug日志 'logPath'=>'/mnt/php/logs', 'maxFileSize'=>5120, 'maxLogFiles'=>20, ), ) ), 调用: //默认写入application.log Yii::log($content,CLogger::LEVEL_INFO); //将$content写入/mnt/php/logs/debug.log,级别为trace Yii::log($content,CLogger::LEVEL_TRACE,'debug'); //以下三种写法都会将$content写入/mnt/php/logs/db.log,并且在每行日志前面会使用db.model1, //db.model2,db.model3区分,级别均为error Yii::log($content,CLogger::LEVEL_ERROR,'db.model1'); Yii::log($content,CLogger::LEVEL_ERROR,'db.model2'); Yii::log($content,CLogger::LEVEL_ERROR,'db.model3'); 源码:framework/logging/CFileLogRoute.php /** * @var integer maximum log file size */ private $_maxFileSize=1024; // in KB /** * @var integer number of log files used for rotation */ private $_maxLogFiles=5; /** * @var string directory storing log files */ private $_logPath; /** * @var string log file name */ private $_logFile='application.log'; 这几个参数都提供了get和set方法,所以可以在配置里面配置即可 另外一些参数可以参考父类:framework/logging/CLogRoute.php /** * @var string list of levels separated by comma or space. Defaults to empty, meaning all levels. */ public $levels=''; /** * @var mixed array of categories, or string list separated by comma or space. * Defaults to empty array, meaning all categories. */ public $categories=array(); 应该还有一些可以配置,暂时无用到,没做深入研究了
日志输出结果:
输出包含几个属性:时间 [日志级别] [日志的分类] 日志内容
日志分类如果按照上述数据库日志的配置的话,会产生[db.model1]、[db.model2]、[db.model3]之类
好了,这下查起日志来方便多了,并且debug在开发和发布之间随时开和关,不影响其他日志的读写
来源:http://it.5yun.com.cn/html/y2015/m01/24.html
相关推荐
使用SeasLog高效日志扩展替换Yii2框架的日志模块,使其提高写日志效率。只需配置就可以实现。
本文实例讲述了YII2框架中日志的配置与使用方法。分享给大家供大家参考,具体如下: YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用。 我们在config/web.php中配置如下: return [ //log...
Yii2 Configloader:从配置文件和环境变量构建配置数组
YII配置详解以及开发规范
商城开发的配置 yii2的 里面是代码可以详细的知道所有
本文实例讲述了Yii框架实现记录日志到自定义文件的方法。分享给大家供大家参考,具体如下: 默认情况下,Yii::log($msg, $level, $category)会把日志记录到runtime/application.log文件中 日志格式如下: [时间] – ...
yii导出html文件,或者导出text文件,超简洁。纯手打请高评谢谢
整合日志,权限,菜单,主题管理等等,能够方便高效开发的yii基础项目,拓展性很强.
本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下: 配置文件 Yii2的主要配置文件config\web.php: <?php $params = require(__DIR__ . '/params.php'); $config = ...
主要介绍了Yii配置文件用法,以实例形式较为详细的分析了项目开发中的控制器、项目名、pathinfo、日志等的配置技巧,非常具有实用价值,需要的朋友可以参考下
主要介绍了Yii框架日志记录Logging操作,结合实例形式分析了Yii框架日志记录Logging模块相关配置与简单使用技巧,需要的朋友可以参考下
NULL 博文链接:https://hudeyong926.iteye.com/blog/1484367
本文实例讲述了Yii参数配置文件params用法。分享给大家供大家参考,具体如下: 1.标题的调用 1.1设置 <?php return [ 'title' => '图书商城', domain => [ 'www' => 'http://super.nat300.top/', 'm' => '...
找了好久才找到的Yii2.0 找不到的朋友的福利,快快下载吧,需要怎么这么长我了个去
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
YII 多种缓存机制的运用 如文件缓存内存缓存 动态缓存等
在主应用的配置文件(例如basic下面的web.php)中配置好日志的过滤和导出的设置 检查不同场景下经过过滤之后的日志信息 记录日志 记录日志其实就是简简单单的调用如下的方法: [[Yii::trace()]]: 记录关于某段代码...
yii2 basic 文件