Теперь мой код выглядит так:
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 - Как регистрировать многострочные записи с монологом? А для меня это выглядит так:
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)));