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 相关文章推荐
生成静态页面的PHP类
Nov 25 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
浅析iis7.5安装配置php环境
May 10 PHP
php实现将Session写入数据库
Jul 26 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
简单实用的PHP文本缓存类实例
Mar 22 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学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
javascript引导程序
2008/10/26 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
Python3解释器知识点总结
2019/02/19 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
Python的历史与优缺点整理
2020/05/26 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
社区七一党员活动方案
2014/01/25 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
教书育人演讲稿
2014/09/11 职场文书
师德师风自查总结
2014/10/14 职场文书
五年级下册复习计划
2015/01/19 职场文书
努力工作保证书
2015/02/28 职场文书