现在我的代码看起来像这样:
JsonFormatter
结果我有一行日志条目。我尝试使用use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
$ipAddress = GeoIp\Manager::getRealIp();
$geoResult = GeoIp\Manager::getDataResult($ipAddress, 'ru');
$formatter = new LineFormatter(null, null, true);
$stream = new StreamHandler($_SERVER['DOCUMENT_ROOT'].'/logs/geo.log', Logger::DEBUG);
$stream->setFormatter($formatter);
$logger = new Logger('Debug');
$logger->pushHandler($stream);
$logger->info('Location:', array('object' => print_r($geoResult, true)));
,但只是格式化数据结构并继续打印单行记录,当我想要几行人类可读美化的数据表示时。
更新
我后来找到了解决方案。 Symfony2 - How to log multiline entries with monolog?对我而言,它看起来像这样:
com.google.common.collect.Streams#concat
答案 0 :(得分:0)
您可以将json_encode与JSON_PRETTY_PRINT平面一起使用,如下所示: -
$beautifiedJsonObjectString = json_encode($data, JSON_PRETTY_PRINT);
// now you can use the formatted objected as you like
参考:https://www.daveperrett.com/articles/2008/03/11/format-json-with-php/
答案 1 :(得分:0)
自版本 Get-ChildItem -Path 'C:\check\two' -Filter '*.txt' -File -Recurse |
Select-String -Pattern "http://" |
Select-Object -Property Path,LineNumber,Line |
Export-Csv -Path 'C:\check\ResultFile.csv' -NoTypeInformation
起,2.0.0
或任何扩展 Monolog\Formatter\JsonFormatter
的格式化程序都通过 Monolog\Formatter\NormalizerFormatter
setJsonPrettyPrint()
如果需要,还有一个更通用的 JSON 编码选项
$formatter = new JsonFormatter();
$formatter->setJsonPrettyPrint(true);