我的记录器对象在每行的末尾输出空数组 - [] [].例如;
[2017-08-17 12:26:02] import_log.INFO:checkForDuplicates :: is_processing [] []
[2017-08-17 12:26:04] import_log.INFO:is duplicate [] []
无论如何我可以阻止这种情况发生吗?我只想在没有空数组的情况下注销,即如下所示:
[2017-08-17 12:26:02] import_log.INFO:checkForDuplicates :: is_processing
[2017-08-17 12:26:04] import_log.INFO:重复
我正在创建自己的日志:
protected function importXML($fName) {
// Create a log file for each XML file imported
$logger = new Logger("import_log");
$logger->pushHandler(new StreamHandler(storage_path('./logs/' . $fName . '.log')), Logger::INFO);
....
$logger->info($myString);
....
$logger->info($myObject);
}
Run Code Online (Sandbox Code Playgroud)
这些空数组是日志条目的上下文和额外属性.添加日志条目时,将提供上下文作为附加数组参数.Extra附加到您的记录器上的"处理器".
可以隐藏这些空数组:
如果没有formatter为Monolog 定义,它将使用默认值LineFormatter.a 的构造函数参数之一LineFormatter是您正在寻找的选项:
public function __construct(string $format = null, string $dateFormat = null, bool $allowInlineLineBreaks = false, bool $ignoreEmptyContextAndExtra = false)
Run Code Online (Sandbox Code Playgroud)
具体来说,第四个选项是相关的 - bool $ignoreEmptyContextAndExtra = false.如果您创建自己的格式化程序:
$formatter = new LineFormatter(null, null, false, true);
Run Code Online (Sandbox Code Playgroud)
把它交给你的经纪人:
$handler = new StreamHandler(storage_path('./logs/' . $fName . '.log');
$handler->setFormatter($formatter);
Run Code Online (Sandbox Code Playgroud)
这应该可以防止记录器显示"context"和"extra"的空数组.
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |