Я использую Laravel 4.2 и хочу, чтобы выходить из системы как JSON. Laravel использует монолога, поэтому я настроен форматировщик JSON следующим образом:Получить Monolog JSON Stack Trace as Array
$logHandler = new Monolog\Handler\StreamHandler(Config::get('app.logFile'), Monolog\Logger::DEBUG);
$logHandler->setFormatter(new Monolog\Formatter\JsonFormatter);
Log::getMonolog()->pushHandler($logHandler);
Проблема заключается в том, что стек следов включены как часть строки сообщения, например, так:
{
"message": "exception 'Exception' with message 'Socket operation failed: Host name lookup failure' in /var/www/vendor/clue/socket-raw/Socket/Raw/Socket.php:388\nStack trace:\n#0 /var/www/vendor/clue/socket-raw/So..."
}
Может кто-то момент я в правильном направлении, чтобы стек трассировал свой отдельный массив в json?
Похоже, это был добавлен в качестве признака в последние фиксации: https://github.com/phansys/monolog/blob/e8e1d9efa3df4ae5456bdb417d721a5a3e613c6b/src/Monolog/Formatter/JsonFormatter.php –
О, круто! С тех пор я написал собственный JsonFormatter, который выглядит замечательно, как то, что они добавили. С Laravel, в частности, есть более активное участие, поэтому когда-нибудь я опубликую то, что я закончил. – jchamberlain