我在app.php
'orders' => [
'className' => 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file' => 'orders',
'levels' => ['info'],
'scopes' => ['orders'],
]
然后在我的一个模型中我做了:
Log::info("There's an order", 'orders');
我希望日志消息仅在orders.log
中写入,但它也会显示在debug.log
中。
根据文件:
如果该范围有配置的记录器,则会显示日志消息 被引导到那些记录器。如果将日志消息写入 未知范围,处理该级别消息的记录器将记录 消息。
我做错了什么?
答案 0 :(得分:1)
当我四处闲逛时,我发现了这个:https://github.com/DaoAndCo/cakephp-logging
要将范围限制为一个记录器,请将其添加到默认记录器配置:
'scopes' => false
像这样:
'debug' => [
'className' => 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file' => 'debug',
'levels' => ['notice', 'info', 'debug'],
'scopes' => false,
'url' => env('LOG_DEBUG_URL', null),
],
'error' => [
'className' => 'Cake\Log\Engine\FileLog',
'path' => LOGS,
'file' => 'error',
'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'],
'scopes' => false,
'url' => env('LOG_ERROR_URL', null),
],
就是这样!像魅力一样工作!我也做过测试。