मैं निम्नलिखित logback पैटर्न:प्रक्रिया आईडी Logback लॉगिंग पैटर्न में
<pattern>
{"hostname": "${HOSTNAME}",
"level": "%p",
"method": "%M",
"process_id": "${process}",
"thread_id": "%t",
"timestamp": "%d{Y-M-d}T%d{H:M:S.s}",
"mesg":"%msg"}%n
</pattern>
दुर्भाग्य से जब लॉग संदेशों वास्तव में उत्पन्न कर रहे हैं मैं देख रहा हूँ: "process_id": "process_IS_UNDEFINED"
वहाँ प्रक्रिया आईडी, इस तरह के किसी भी स्वचालित रूप से सेट चर है जैसा कि होस्टनाम के लिए है? मुझे लॉगबैक दस्तावेज़ीकरण में ऐसे स्वचालित रूप से सेट चरों की एक दस्तावेजी सूची खोजने में बहुत परेशानी हो रही है, क्या किसी को बेहतर दस्तावेज़ स्रोत के बारे में पता है?
संपादित करें: मुझे मैप किए गए डायग्नोस्टिक संदर्भों के बारे में पता है, लेकिन एक ऐसे बिल्टिन समाधान की उम्मीद कर रहा था जिसे इस तरह के सेटअप की आवश्यकता नहीं है, जैसे होस्टनाम कैसे काम करता है।
यह एक समाधान है जिसे मैं जानता था, लेकिन यह कष्टप्रद है क्योंकि इसे हमारे वास्तविक कोड को संशोधित करने की आवश्यकता है। क्या आवेदन कोड को संशोधित करने के बाहर एमडीसी स्थापित करने के लिए वैसे भी है? शायद एक अलग वर्ग लिखकर जो एमडीसी को संशोधित करता है और उसे कक्षा पथ पर डालता है? – qwwqwwq
@qwwqwwq मुझे यकीन नहीं है कि ऐसा करने के लिए कुछ दस्तावेज तरीका है या नहीं। मुझे लगता है कि आप 'ch.qos.logback.classic.PatternLayoutBase' वर्ग को ओवरराइड कर सकते हैं और अपना कनवर्टर' डिफ़ॉल्ट कनवर्टरमैप 'में डाल सकते हैं। लेकिन यह एक गंदा हैक :) – vsminkov
@qwwqwwq एक और तरीका है। आप वास्तव में 'ch.qos.logback.classic.PatternLayout' से प्राप्त कर सकते हैं और इसे अपने logback.xml जैसे [यहां] (http://logback.qos.ch/manual/layouts.html) में उपयोग कर सकते हैं। – vsminkov