【发布时间】:2018-11-01 08:31:47
【问题描述】:
现在我的代码如下所示:
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$ipAddress = GeoIp\Manager::getRealIp();
$geoResult = GeoIp\Manager::getDataResult($ipAddress, 'ru');
$logger = new Logger('Debug');
$logger->pushHandler(new StreamHandler($_SERVER['DOCUMENT_ROOT'].'/logs/geo.log', Logger::DEBUG));
$logger->info('Location:', array('object' => print_r($geoResult, true)));
因此,我有一行日志条目。我尝试使用JsonFormatter,但只是格式化数据结构并继续打印一行记录,当我想要几行人类可读美化数据呈现时。
更新:
我后来在这里找到了解决方案。 Symfony2 - How to log multiline entries with monolog? 对我来说是这样的:
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)));
【问题讨论】: