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); 

把它给你的处理程序:

这应该阻止记录器无法显示的“背景”和“额外的”空数组。