首页 > PHP教程 > php开发知识文章

php -- Yii框架记录程序日志到自定义文件

本文主要介绍了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');

yii框架日志记录

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

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。