मैं एक रेल 4 ऐप में संरचित लॉगिंग जोड़ रहा हूं। और logstash-logger का उपयोग this article में वर्णित है, मेरे पास ज्यादातर चीजें काम कर रही हैं।रेल 4 और संरचित लॉगिंग के साथ, मैं लॉग आईडी के लिए अनुरोध आईडी फ़ील्ड कैसे जोड़ सकता हूं?
मुझे लॉग में अनुरोध आईडी जोड़ने में समस्या हो रही है। निकटतम मैंने पाया 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": "..."
}
मैंने कोशिश की, लेकिन 'पेलोड' हैश का कोई यूयूआईडी क्षेत्र नहीं है। मुझे केवल अपने लॉग में 'uuid "मिलता है: null'। – leedm777
मैंने पाया कि आपको काम करने के लिए 'एप्लिकेशन कंट्रोलर' में परिभाषित 'append_info_to_payload'' की आवश्यकता है (https://github.com/roidrage/lograge/blob/master/README.md देखें)। लेकिन यह केवल एक्सेस लॉग में कस्टम फ़ील्ड जोड़ता है। यूयूआईडी उपयोगी होने के लिए, इसे उस अनुरोध से जुड़े सभी लॉगों में होना चाहिए (उसी तरह रेल्स प्रत्येक लॉग एंट्री पर टैग डालती हैं)। – leedm777