Yii2:禁用警告日志消息"会话已经开始"

时间:2018-03-28 10:37:41

标签: yii2

我的'app.log'文件中有很多邮件包含内容:

2018-03-28 12:23:55 [66.70.168.171][-][-][warning][yii\web\Session::init] Session is already started

问题:如何防止此警告信息写入日志文件?

我已尝试在'except'中添加'targets'元素:

'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['error', 'warning'],
                'except' => [
                    'yii\web\Session', //here it is
                ],
            ],

但没有成功。

2 个答案:

答案 0 :(得分:0)

如果您的异常不使用通配符,它​​将尝试匹配确切的日志类别名称

因此您要么为确切的名称添加例外(您的案例yii\web\Session::init
或在末尾yii\web\Session:*添加通配符以过滤所有会话消息

'targets' => [
    [
        'class' => 'yii\log\FileTarget',
        'levels' => ['error', 'warning'],
        'except' => [
            'yii\web\Session:*', // Excludes all session messages
            // or
            'yii\web\Session::init', // Exclude only session init
        ],
    ]

答案 1 :(得分:0)

另一种解决方案:

您的项目->供应商-> yiisoft-> yii2->网络-> Session.php

注释第107行,像这样

if ($this->getIsActive()) {
   //Yii::warning('Session is already started', __METHOD__);
     $this->updateFlashCounters();
 }