Я добавляю структурированное ведение журнала в приложение Rails 4. Используя lograge и logstash-logger, как описано в this статья, в основном я работаю.
У меня возникли проблемы с добавлением идентификатора запроса в журналы. Самое близкое, что я нашел, это добавить это к config/${ENV}.rb
:
config.log_tags = [:uuid]
Но это добавляет идентификатор запроса в список тегов вместо добавления его в качестве именованного поля.
{
"tags": [
"da76b4be-01ae-4cc4-8d3c-87062ea02cfe"
],
"host": "services",
"severity": "DEBUG",
"@version": "1",
"@timestamp": "2016-09-13T17:24:34.883+00:00",
"message": "..."
}
Это проблематично. Это делает его более неудобным и менее очевидным в том, как искать конкретный идентификатор запроса. Кроме того, синтаксический анализ сообщения в логсташе перезаписывает любые другие теги, которые уже связаны с сообщением журнала.
Есть ли способ добавить идентификатор запроса в журнал как именованное поле?
{
"request_id", "da76b4be-01ae-4cc4-8d3c-87062ea02cfe",
"host": "services",
"severity": "DEBUG",
"@version": "1",
"@timestamp": "2016-09-13T17:24:34.883+00:00",
"message": "..."
}