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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
php mysql索引问题
Jun 07 PHP
php程序的国际化实现方法(利用gettext)
Aug 14 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php比较相似字符串的方法
Jun 05 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP下用Swoole实现Actor并发模型的方法
Jun 12 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 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文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
php7 新增功能实例总结
2020/05/25 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
Python字符转换
2008/09/06 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python学习教程之使用py2exe打包
2017/09/24 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
python中append实例用法总结
2019/07/30 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
linux面试题参考答案(8)
2015/08/11 面试题
团工委书记自荐书范文
2013/12/17 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
读书笔记格式
2015/07/02 职场文书
2016年清明节寄语
2015/12/04 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL
vue ref如何获取子组件属性值
2022/03/31 Vue.js