Logging CFileLogRoute错误

Logging CFileLogRoute错误,logging,yii,yii-events,Logging,Yii,Yii Events,我想用我的自定义错误或自定义消息为创建新的日志文件,但我无法这样做。甚至我也在main.php文件中做了更改 array( 'class'=>'CFileLogRoute', 'levels'=>'mailerror', 'categories'=>"system.*", 'logFile'=>'mailError.log'.da

我想用我的自定义错误或自定义消息为创建新的日志文件,但我无法这样做。甚至我也在main.php文件中做了更改

        array(
                'class'=>'CFileLogRoute',
                'levels'=>'mailerror',
                'categories'=>"system.*",
                'logFile'=>'mailError.log'.date('d-m-y s'),
            ),

            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, info',
            ),
之后,当我试图在index.php上测试我的代码时,这就是我的代码

echo Yii::log("Mailer Error ",'mailerror','system.*');

那么这是行不通的。什么都没有发生。

对我说的话不是100%肯定,但似乎你无法创建自己的日志级别:

消息级别应为以下值之一:

  • trace:这是Yii::trace使用的级别。它用于在开发过程中跟踪应用程序的执行流
  • 信息:用于记录一般信息
  • 配置文件:这是性能配置文件,稍后将对其进行描述
  • 警告:这用于警告消息
  • 错误:这适用于致命错误消息

您应该更改日志的类别,而不是级别:

echo Yii::log("Mailer Error ",'error','mailerror');
在配置中:

array(
    'class'=>'CFileLogRoute',
    'levels'=>'error',
    'categories'=>"mailerror",
    'logFile'=>'mailError.log'.date('d-m-y s'),
),

尝试更改为:
echo Yii::log(“Mailer Error”、“Error”、“system.mailerror”)(最好使用
阻塞器::LEVEL_ERROR
代替
ERROR

更新
对于该测试,您需要重新配置一些阻塞器。尝试在Yii::log之前插入它


好的,我搞错了。正如我所说的,我试图在index.php文件(即应用程序索引文件)上运行这些代码,但这不起作用。但是,当我在我的视图文件或位于受保护视图文件夹中的任何视图文件中尝试该代码时,其工作正常。我还把代码改成了这样

'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'levels'=>'mailerror',
                'categories'=>"system.*",
                'logFile'=>'mailError.log'.date('d-m-y s'),
            ),

            array(
                'class'=>'CFileLogRoute',
                'levels'=>'error, info',
            ),
这段代码基本上每秒生成一个日志文件,如果我从日期中删除“s”,那么这将每天生成一个文件

echo Yii::log("Error : While occuring with function in file",'mailerror','system.*');
echo Yii::log("Error : error in another option",'mailerror','system.*');
echo Yii::log("Error : error diff function",'mailerror','system.*');
这是我从视图文件夹中的admin.php文件调用的函数。所以 主要错误是从应用程序索引文件“我试图调用日志函数”进行测试,当我从任何其他视图文件尝试时,它工作正常。
感谢朋友们的帮助和支持。感谢CreatoR&darkheir

在您的配置文件中是否有“预加载”=>array('log')?您的项目中有“runtime”文件夹吗?其他日志是否正常工作?是的,我有文件夹运行时,我也有其他日志正常工作。如果您更改日志文件,使其显示日期?(只是尝试)如果我把它没有日期,即使这样,这将不会工作。。主要的问题是我试图在我的index.php文件中测试这一点,我在问题中提到了这个文件。我尝试了任何其他适合我的文件。谢谢,但是我可以从我的组件文件或我在组件文件夹中创建的任何帮助文件中访问这个yii:log函数吗?它将从组件创建日志。
echo Yii::log("Error : While occuring with function in file",'mailerror','system.*');
echo Yii::log("Error : error in another option",'mailerror','system.*');
echo Yii::log("Error : error diff function",'mailerror','system.*');