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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
Yii CGridView用法实例详解
Jul 12 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 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获取当前网址及域名的实现代码
2013/06/23 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
AngularJS实现注册表单验证功能
2017/10/16 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
pandas的resample重采样的使用
2020/04/24 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
帕克纽约:PARKER NY
2018/12/09 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
小学生元旦广播稿
2014/02/21 职场文书
慈善晚会策划方案
2014/05/14 职场文书
政风行风评议整改方案
2014/09/15 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
政审证明范文
2015/06/19 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书