如何在Yii Framework上自定义日志文件?

时间:2013-09-30 10:28:58

标签: php logging yii logfiles

我正在尝试处理我网站上的错误。我在日志文件中记录了每个错误,但我想知道如何自定义日志文件中记录的消息。

现在,我收到此消息:

  

2013/09/30 10:08:59 [错误] [exception.CException]异常   带有'错误测试'消息的'CException'   myDomain.com \保护\控制器\ SiteController.php:234

你能帮助我吗?

1 个答案:

答案 0 :(得分:2)

对于手动自定义日志消息,您需要创建自己的LogRoute类。在您的情况下,您需要从CFileLogRoute继承类并覆盖方法formatLogMessage(例如):

class MyFileLogRoute extends CFileLogRoute{
    protected function formatLogMessage($message,$level,$category,$time)
    {
        //enter code here your custom message format
        return @date('Y/m/d H:i:s',$time)." [$level] [$category] $message\n";
    }
}

配置配置文件:

       'log' => array(
           'class' => 'CLogRouter',
           'routes' => array(
               array(
                   'class' => 'MyFileLogRoute',
                   'levels' => 'error, warning, info',
                   'categories' => 'application.*',
                   'logPath' => dirname(__FILE__).'/../../../../../logs/',
               ),
               ...

是的,@ragingprodigy是对的:您可以在index.php中设置define('YII_DEBUG', 0)define('YII_TRACE_LEVEL', 0)以从日志消息中删除堆栈跟踪