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入库和出库
Jun 25 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
微信自定义分享php代码分析
Nov 24 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
Laravel实现短信注册的示例代码
May 29 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
php实现对文件压缩简单的方法
Sep 29 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/12/24 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python反射的用法实例分析
2018/02/11 Python
Python实现简单http服务器
2018/04/12 Python
python实现汽车管理系统
2018/11/30 Python
资料员的岗位职责
2013/11/20 职场文书
酒吧员工的岗位职责
2013/11/26 职场文书
总裁办公室主任职责
2014/01/02 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
超市收银员岗位职责
2015/04/07 职场文书
公路施工安全责任书
2015/05/08 职场文书
年会主持人开场白台词
2015/05/29 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
资产移交协议书
2016/03/24 职场文书
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
关于python中模块和重载的问题
2021/11/02 Python