Monolog Logger在每条日志消息的末尾输出空阵列
问题描述:
我的记录器对象在每行末尾输出空数组 - [] []
。例如;Monolog Logger在每条日志消息的末尾输出空阵列
[2017年8月17日12时26分02秒] import_log.INFO:checkForDuplicates :: is_processing [] []
[2017年8月17日12时26分04秒] import_log.INFO:是重复[] []
是否有反正我可以阻止这种情况发生?我只是想退出而不空数组,即,如下所示:
[2017年8月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);
}
答
这些空数组是背景和您的日志条目的额外属性。 上下文在添加日志条目时作为附加数组参数提供。 额外由您附加到记录器的“处理器”填充。
这些空数组可以隐藏:
当你不定义为formatter
独白,它会使用默认LineFormatter
。其中constructor parameters的一个LineFormatter
的是你要找的选项:
public function __construct(string $format = null, string $dateFormat = null, bool $allowInlineLineBreaks = false, bool $ignoreEmptyContextAndExtra = false)
具体的第四选项是相关的 - bool $ignoreEmptyContextAndExtra = false
。如果你创建自己的格式化程序:
$formatter = new LineFormatter(null, null, false, true);
把它给你的处理程序:
这应该阻止记录器无法显示的“背景”和“额外的”空数组。