Rails 4 uygulamasına yapılandırılmış günlük ekliyorum. this article numaralı belgede açıklandığı gibi lograge ve logstash-logger'u kullanarak, çoğunlukla işlerim var.Raylar 4 ve yapılandırılmış günlük kaydı ile, istek kimliği alanını günlüklere nasıl ekleyebilirim?
Günlüklere istek kimliği eklerken sorun yaşıyorum. Bulduğum en yakın config/${ENV}.rb
bu eklemektir:
config.log_tags = [:uuid]
Ama bu yerine adlandırılmış alanı olarak ekleme, etiket listesine istek kimliği ekler.
{
"tags": [
"da76b4be-01ae-4cc4-8d3c-87062ea02cfe"
],
"host": "services",
"severity": "DEBUG",
"@version": "1",
"@timestamp": "2016-09-13T17:24:34.883+00:00",
"message": "..."
}
Bu sorunludur. Belirli bir istek kimliğinin nasıl aranacağı konusunda daha garip ve daha az belirgin hale getirir. Ayrıca, mesajı logstash'da ayrıştırmak, günlük mesajıyla zaten ilişkilendirilmiş olan diğer etiketlerin üzerine yazar.
İstek kimliğini, adlandırılmış alan olarak günlüğe ekleyebileceğim bir yol var mı?
{
"request_id", "da76b4be-01ae-4cc4-8d3c-87062ea02cfe",
"host": "services",
"severity": "DEBUG",
"@version": "1",
"@timestamp": "2016-09-13T17:24:34.883+00:00",
"message": "..."
}
Bunu denedim, ancak 'yük boşluğu' hashunun hiçbir uuid alanı yok. Ben sadece "uuid" aldım: günlüklerimde null. – leedm777
Bunun için “ApplicationController” içinde tanımlanmış olan 'append_info_to_payload' 'öğesinin gerekli olduğunu buldum (bkz. Https://github.com/roidrage/lograge/blob/master/README.md). Ancak bu yalnızca özel alanları erişim günlüklerine ekler. UUID'nin faydalı olması için, bu istekle ilişkili tüm günlüklerde olması gerekir (Rails etiketlerini her kayıt girişine koyar). – leedm777