如何使用FileTarget记录一次错误



我使用Yii组件"log";以记录一些重要信息。在我的目标:

[
'class' => FileTarget::class,
'categories' => ['import.category'],
'levels' => ['info', 'warning', 'error'],
'logFile' => '@runtime/logs/import/import.log',
'maxFileSize' => 10240,
'logVars' => []
]

我用这种方式调用记录器:

Yii::warning('some message', 'import.category');

我在logs/import/import.log中有一条记录。这很好。但我在logs/app.log中有相同的记录。我不需要logs/app.log中的记录。这是默认情况吗?我能把它关掉吗?

顺便说一下,如果我使用:

Yii::info('some message', 'import.category');

我只在logs/import/import.log中有一条记录,但错误或警告会复制该记录。

app.log目标的配置可能如下所示:

[
'class' => 'yiilogFileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
],

因为没有指定任何类别,所以所有错误和警告消息都写在那里。为了将类别排除在登录目标之外,yiilogTarget中有$except属性,它是日志目标的常见父级。所以你想修改app.log目标的设置,如下所示:

[
'class' => 'yiilogFileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
'except' => ['import.category'],
],

相关内容

  • 没有找到相关文章

最新更新