Monolog JsonFormatter没有格式化我的代码


Monolog JsonFormatter is not formatting my code?

我在这里读了很多问题,也读了一些文档。但是仍然不明白如何使用monolog格式化JSON值。

在这里,我的代码不起作用:

php $formatter = new JsonFormatter(); $log->addInfo($formatter->format(['foo' => 'bar']));

输出始终在一行中,而不是以格式化的方式。

bash [2016-03-02 07:45:57] parameters.INFO: {"foo":"bar"} [] []

JsonFormatter用于格式化输出。

$log = new 'Monolog'Logger( 'my_log' );
$stream_handler = new 'Monolog'Handler'StreamHandler( 'my_log_file.log' );
$stream_handler->setFormatter( new 'Monolog'Formatter'JsonFormatter() );
$log->pushHandler( $stream_handler );
$log->addError( 'foo' );

如果没有 JsonFormatter,你会得到正常的输出:

[2016-04-04 16:37:55] my_log.ERROR: foo [] [] 

使用 JsonFormatter,您可以获得 JSON 输出:

{"message":"foo","context":[],"level":400,"level_name":"ERROR","channel":"my_log","datetime":{"date":"2016-04-04 16:38:14.102258","timezone_type":3,"timezone":"UTC"},"extra":[]}