Я следил за тем, что, по моему мнению, является правильной настройкой для Loggly как канала Monolog с Laravel 5.6, но я продолжаю получать строки текста вместо записей с возможностью поиска json. Например:
[2018-07-27 14:50:20] local.INFO: array ('foo' = ›'bar',)
Это из свойства unparsed записи Loggly. Ни в коем случае не действительный json !!!
Вот несколько соответствующих фрагментов кода, чтобы показать, как настроен канал loggly и как я инициирую запись в журнале.
config / logging.php:
'loggly' => [
'driver' => 'monolog',
'handler' => Monolog\Handler\LogglyHandler::class,
'with' => [
'token' => env('LOGGLY_KEY'),
'tag' => str_replace(' ', '_', env('APP_NAME') . '_' . env('APP_ENV')),
]
]
маршруты:
Route::get('/', function(){
Log::info(['foo' => 'bar']);
return view('welcome');
});
из composer.json:
"laravel/framework": "5.6.21",
"monolog/monolog": "^1.23",
Я подумал, может быть, обновление до более новой версии монолога может помочь, но столкнулся с этим при попытке обновить монолог через композитор:
Ваши требования не могут быть решены в устанавливаемом наборе пакетов.
Проблема 1
- laravel / framework v5.6.21 требует monolog / monolog ~ 1.12 - ›выполняется с помощью monolog / monolog [1.x-dev].
- laravel / framework v5.6.21 требует monolog / monolog ~ 1.12 - ›выполняется с помощью monolog / monolog [1.x-dev].
- laravel / framework v5.6.21 требует monolog / monolog ~ 1.12 - ›выполняется с помощью monolog / monolog [1.x-dev].
- Можно установить только один из: monolog / monolog [2.x-dev, 1.x-dev].
- Запрос на установку monolog / monolog ^ 2.0 - ›удовлетворяется с помощью monolog / monolog [2.x-dev].
- Запрос на установку laravel / framework 5.6.21 - ›удовлетворяется laravel / framework [v5.6.21].
Что мне не хватает? Разве Monolog не должен отправлять мои выходные данные журнала как json в Loggly? Глядя на LogglyHandler, он использует LogglyFormatter, который расширяет JsonFormatter. Это кажется разумным, но в конечном итоге на выходе получается строка. Что дает?