एक संदर्भ के रूप में, जब आप कोड वालों बनाने के लिए जिम्मेदार संशोधित करने के लिए प्रयास करते हैं, वहाँ नियम है कि एक लकड़हारा काम करने के लिए आदेश में संतुष्ट किया जाना चाहिए का एक समूह है।
अब मैं slf4j/logback के कार्यक्रम संबंधी विन्यास के साथ अनुभव है।
टास्क
एक कार्यक्रम प्रत्येक संसाधित इनपुट फ़ाइल के लिए अलग लॉग फ़ाइल को खोलने चाहिए।
कार्य
इसके बजाय एक्सएमएल के माध्यम से logback कॉन्फ़िगर करने की
के लिए समाधान, एक "मैन्युअल" का दृष्टांत को एनकोडर, appenders और वालों, तो कॉन्फ़िगर और उन्हें एक साथ लिंक की जरूरत है।
चेतावनी 1
Logback appenders के बीच एनकोडर (अर्थात PatternLayoutEncoder) साझा करने के लिए प्रयास पर पागल हो जाता है। चेतावनी 1
के लिए
समाधान प्रत्येक appender के लिए अलग एनकोडर बनाएँ।
चेतावनी 2
Logback, कुछ भी लॉग इन करने के लिए मना कर दिया है, तो एनकोडर और appenders लॉगिंग संदर्भ के साथ संबद्ध नहीं हैं।
चेतावनी 2 प्रत्येक एनकोडर और appender पर
कॉल setContext के लिए समाधान, एक पैरामीटर के रूप LoggerFactory गुजर।
चेतावनी 3
Logback, कुछ भी लॉग इन करने के लिए मना कर दिया एनकोडर और appenders शुरू नहीं कर रहे हैं। चेतावनी 3
एनकोडर और appenders के लिए
समाधान सही क्रम में शुरू किया जा करने की जरूरत है, यानी प्रथम एनकोडर, तो appenders।
चेतावनी 4
RollingPolicy वस्तुओं (अर्थात TimeBasedRollingPolicy) की तरह "तिथि मान्य नहीं", अजीब त्रुटि संदेशों का उत्पादन जब वे appender रूप में एक ही संदर्भ से जुड़ी नहीं हैं।
एनकोडर और appenders पर के रूप में RollingPolicy एक ही रास्ते पर चेतावनी 4
कॉल setContext के लिए समाधान।
यहाँ "मैन्युअल" logback विन्यास का उदाहरण काम कर रहा है:
@Andrew स्वान: क्या आप टिप्पणी में नोट कर सकते हैं कि आप वर्तमान संस्करण के साथ क्या बदलना चाहते हैं। मैं तदनुसार इसे अद्यतन करने की कोशिश करूंगा। – reto
@reto मेरा परिवर्तन मुख्य रूप से (1) वर्ग घोषणा को जोड़ता है ताकि यह संकलित हो और (2) गायब "जी" को "लॉगर" में जोड़ता है। –
इनपुट के लिए धन्यवाद। मैंने इन चीजों को अपडेट किया है। – reto