मुझे जिस कार्यक्षमता की आवश्यकता है वह कॉन्फ़िगर किए गए लॉग फ़ाइल की शुरुआत में हेडर लाइन लिख रहा है। लॉग फ़ाइल को, इसके अलावा, एक समय पैटर्न (मैं लॉगबैक 1.0.7 बात कर रहा हूं) के आधार पर पर घुमाया जाना चाहिए।कस्टम लॉगबैक एपेंडर - फ़ाइल हेडर तैयार करना और इसे रोलओवर बनाना
तो, मैं एक appender लिखने की सोच रहा हूँ - हालांकि मुझे यकीन है कि नहीं है कि क्या यह एक कस्टम लेआउट कि मैं वास्तव में जरूरत नहीं है हूँ।
1) appender
प्रति logback के प्रलेखन, सही दृष्टिकोण AppenderSkeleton
विस्तार करने के लिए है, लेकिन फिर मैं कैसे दूसरी ओर RollingFileAppender
(फ़ाइल रोल ओवर बनाने के लिए?)
के साथ इस गठबंधन होगा हाथ, अगर मैं RollingFileAppender
का विस्तार करता हूं, तो मौजूदा कार्यक्षमता को सजाने के लिए मैं किस विधि को ओवरराइड करता हूं? मैं फ़ाइल की शुरुआत में केवल उस विशेष स्ट्रिंग को लिखने के लिए कैसे कहूं?
2) लेआउट
Analogously, दृष्टिकोण LayoutBase
का विस्तार किया जाना है, और doLayout(ILoggingEvent event)
के लिए एक कार्यान्वयन प्रदान करने लगता है। लेकिन फिर से, मुझे नहीं पता कि व्यवहार को कैसे सजाने के लिए - फ़ाइल में एक नई लाइन जोड़ना, इसकी कार्यक्षमता को बाधित करने के बजाय (क्योंकि मैं अभी भी बाकी लॉग को ठीक से दिखाना चाहता हूं)।
getFileHeader()
LayoutBase
में आशाजनक लग रहा है, लेकिन मैं इसका उपयोग कैसे करूं? क्या यह कस्टम लेआउट द्वारा ओवरराइड होने का भी इरादा है? (शायद हां, क्योंकि यह लेआउट इंटरफ़ेस का हिस्सा है, लेकिन फिर कैसे?)
धन्यवाद!
@teo क्या आप जानते हैं कि हम कैसे कस्टम गुण किसी भी कस्टम appender वर्ग के शुरू होने से विधि में logback.xml में परिभाषित कर सकते हैं करते हैं? – Mihir