使用 FileTarget 后如何记录错误
How to log errors once using 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' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
],
因为没有指定类别,所以所有错误和警告消息都写在那里。要从登录目标中排除类别,yii\log\Target
中有 $except
属性,这是日志目标的公共父级。因此,您想像这样修改 app.log
目标的设置:
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
'except' => ['import.category'],
],
我使用 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' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
],
因为没有指定类别,所以所有错误和警告消息都写在那里。要从登录目标中排除类别,yii\log\Target
中有 $except
属性,这是日志目标的公共父级。因此,您想像这样修改 app.log
目标的设置:
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
'logFile' => '@runtime/logs/app.log',
'except' => ['import.category'],
],