如何在Yii2中删除不必要的日志记录?

fro*_*ops 1 php yii2

我为自己的目的设置了单独的日志记录

'log' => [
        'traceLevel' => YII_DEBUG ? 3 : 0,
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['error', 'warning'],
            ],
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['info'],
                'categories' => [
                    'mycat',
                ],
                'logFile' => '@app/runtime/logs/mycat.log'
            ]
        ],
    ],
Run Code Online (Sandbox Code Playgroud)

然后,记录特定事件

Yii::info("It's work", 'mycat');
Run Code Online (Sandbox Code Playgroud)

在那之后,我希望在文件mycat.log中只会显示“ It's work”,但这仍被写入“ application”的日志类别中:

tail -f runtime/logs/mycat.log
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

问题:如何在mycat.log中禁用应用程序日志?

PS:抱歉,我的英语。实在抱歉 :(

soj*_*oju 5

您应该只禁用变量记录,例如:

[
    'class' => 'yii\log\FileTarget',
    'levels' => ['info'],
    'categories' => ['mycat'],
    'logVars' => [],
    'logFile' => '@app/runtime/logs/mycat.log'
]
Run Code Online (Sandbox Code Playgroud)

了解更多有关$logVars