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模板之Phpbean的目录结构
Jan 10 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
整理的9个实用的PHP库简介和下载
Nov 09 PHP
php 冒泡排序 交换排序法
May 10 PHP
Php中文件下载功能实现超详细流程分析
Jun 13 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
PHP上传图片进行等比缩放可增加水印功能
Jan 13 PHP
PHP中常用的转义函数
Feb 28 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
php扩展开发入门demo示例
Sep 23 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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
关于shopex同步ucenter的redirect问题,导致script不运行
2013/04/10 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python使用wxPython实现计算器
2018/01/30 Python
详解python中asyncio模块
2018/03/03 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
美国五金商店:Ace Hardware
2018/03/27 全球购物
必须要使用游标的SQL语句有那些
2012/05/07 面试题
最受欢迎的自我评价
2013/12/22 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014小学年度工作总结
2014/12/20 职场文书
秦兵马俑导游词
2015/02/02 职场文书
尼克胡哲观后感
2015/06/08 职场文书
社区服务理念口号
2015/12/25 职场文书
师德培训心得体会2016
2016/01/09 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
Flink 侧流输出源码示例解析
2022/09/23 Servers