日志如何设置为json格式 in monolog....
$logger = new StreamHandler(__DIR__.'/my_app.log');
$logger->setFormatter( new JsonFormatter() );
$logger->pushHandler($logger);
这似乎不正确,因为它显示错误
调用未定义的方法 Monolog\Logger::setFormatter()
我也希望我的日志记录如下:
message{
a="something";
b="something else"
}
代替:
message{a="something";b="something else"}
如果其他人也有这个问题:格式化程序可以设置为处理程序,而不是记录器。
use Monolog\Formatter\JsonFormatter;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
$logger = new Logger('your_channel_name');
$handler = new StreamHandler('your/dir.log');
$handler->setFormatter( new JsonFormatter() );
$logger->pushHandler($handler);
// and then where ever in the code
$logger->info('your message', ["var1" => "value 1", "otherVar" => "otherValue"]);
// it will result in a parsable output similar to this:
// {
// "message":"your message",
// "context": {
// "var1":"value 1",
// "otherVar":"otherValue"
// },
// "level":200,
// "level_name":"INFO",
// "channel":"your_channel_name",
// "datetime":"2021-06-25T10:54:10.116817+00:00",
// "extra":{}
// }
The 文档 https://github.com/Seldaek/monolog/blob/main/doc/02-handlers-formatters-processors.md本身并不是最好的,但也是一个开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)