Yii框架实现记录日志到自定义文件的方法


Posted in PHP onMay 23, 2017

本文实例讲述了Yii框架实现记录日志到自定义文件的方法。分享给大家供大家参考,具体如下:

默认情况下,Yii::log($msg, $level, $category)会把日志记录到runtime/application.log文件中

日志格式如下:

[时间] - [级别] - [类别] - [内容]

2013/05/03 17:33:08 [error] [application] test

但有时候需要把某些特定的日志放到特定的文件中,比如交易失败的日志,需要和其他日志区分开来单独记录。

在Yii中可以通过配置不同的CLogRouter来解决。

你需要先了解Yii的日志机制,Yii的日志功能有CLogger和CLogRouter两部分,

其中CLogger负责记录日志数据在内存中,而CLogRouter则决定如何处理这些日志数据,如记录到文件或数据库,或发送邮件等

其中的CFileLogRoute就是用来以文件的形式来处理日志数据的。那么很自然的,通过配置不同的CFileLogRoute就可以把日志记录到不同的日志文件中。

具体配置如下:

'log' => array(
  'class' => 'CLogRouter',
  'routes' => array(
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
    ),
    array(
      'class' => 'CFileLogRoute',
      'levels' => 'error, warning',
      'categories'=> 'orders.*',
      'logFile'=> 'orders.log',
    ),

在需要记录订单错误的地方,添加如下代码:

Yii::log('your message', 'error', 'orders');

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
第三节--定义一个类
Nov 16 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 PHP
tp5.1 框架数据库-数据集操作实例分析
May 26 PHP
Yii 2.0如何使用页面缓存方法示例
May 23 #PHP
PHP创建单例后台进程的方法示例
May 23 #PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
May 23 #PHP
yii 2.0中表单小部件的使用方法示例
May 23 #PHP
php实现留言板功能(会话控制)
May 23 #PHP
php实现文件预览功能
May 23 #PHP
PHP写的简单数字验证码实例
May 23 #PHP
You might like
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
Position属性之relative用法
2015/12/14 Javascript
angular2使用简单介绍
2016/03/01 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
完美解决在oj中Python的循环输入问题
2018/06/25 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
大学辅导员述职报告
2015/01/10 职场文书
感谢信的格式
2015/01/21 职场文书
介绍信如何写
2015/01/31 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
Java 死锁解决方案
2022/05/11 Java/Android