php -- Yii框架记录程序日志到自定义文件
2018-02-16 13:57:29
•
阅读
打赏
本文主要介绍了php -- Yii框架记录程序日志到自定义文件的方法,
结合实例代码分析了Yii框架日志记录的原理及自定义日志记录的相关配置,需要的朋友参考下。
Yii 提供了一个灵活易扩展的日志功能。记录的日志通过日志级别和信息分类进行归类。
通过使用 级别和分类过滤器,所选的信息还能进一步路由到 不同的目的地,例如一个文件,Email,浏览器窗口等。
默认情况下,Yii::log($msg, $level, $category)会把日志记录到默认的runtime/application.log文件中
日志格式如下:
[时间] - [级别] - [类别] - [内容]
2017/05/03 17:56:01 [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 log', 'error', 'orders');

以上就是本文php -- Yii框架记录程序日志到自定义文件的全部内容,希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型