2012-02-28 15 views
6

PatternLayout के लिए जावाडोक की जांच करते समय, मैंने देखा कि यह इसके बजाय EnhancedPatternLayout का उपयोग करने की अनुशंसा करता है। हालांकि, ऐसा लगता है कि यह वही काम करता है।EnhancedPatternLayout और PatternLayout के बीच मुख्य अंतर क्या हैं?

मुख्य अंतर क्या हैं, विशेष रूप से जिनके बारे में मुझे अवगत होना चाहिए?

मैं यह भी सोच रहा हूं कि उन्होंने मूल वर्ग को बढ़ाने के बजाय एक अलग वर्ग क्यों बनाया। कोई वाक्यविन्यास मतभेद?

+1

कम से कम एक बड़ा अंतर समय क्षेत्रों के लिए समर्थन है - http://stackoverflow.com/questions/1785725/specify-time-zone-of-log4js-date देखें। – B5A7

उत्तर

3

documentation देखें, सबकुछ समझाया गया है। EnhancedPatternLayoutPatternLayout का एक उन्नत संस्करण है। इसे PatternLayout वरीयता में इस्तेमाल किया जाना चाहिए (PatternLayout के साथ संगतता कारण को छोड़कर)।

PatternLayout में कुछ समस्याएं हैं जो एन्हांस्डपटरर्नआउट में विशेष रूप से सिंक्रनाइज़ेशन के साथ मौजूद नहीं हैं।

+5

मैंने इस सवाल से बिल्कुल पूछा क्योंकि मैंने पहले ही दस्तावेज की जांच की है और कुछ भी समझाया नहीं गया है। हां, यह बढ़ाया गया है, मैं इसे अपने नाम से भी देख सकता हूं, लेकिन बढ़ाया ** कैसे **? – aditsu

+0

तो इसका मतलब है कि एन्हांस्डपटरर्नआउट में केवल आंतरिक परिवर्तन हैं, लेकिन इसका उपयोग ** बिल्कुल ** उसी तरह किया जाता है? – aditsu

+1

लगभग, 'एन्हांस्डपटरर्नआउट' में कुछ अतिरिक्त रूपांतरण वर्ण हैं जो PatternLayout में उपलब्ध नहीं हैं। अन्यथा ऐसा लगता है। मैं जावा विशेषज्ञ नहीं हूं, इसलिए आप दो दस्तावेज पृष्ठों और/या स्रोतों की तुलना करके स्वयं को जांच सकते हैं। – cago

0

एन्हांस्डपटरर्नआउट एक स्ट्रिंगबफर के रूप में परिणाम स्वरूपित करता है जबकि पैटर्न लयआउट परिणाम को स्ट्रिंग के रूप में स्वरूपित करता है।

0

PatternLayout और EnhancedPatternLayout के बीच मुख्य अंतर प्रारूप() विधि में है। PatternLayout sbuf नामक एक सदस्य फ़ील्ड पर निर्भर करता है, जो इसे संशोधित करता है जबकि EnhancedPatternLayout स्ट्रिंगबफर का एक निजी उदाहरण उपयोग करता है। इसका मतलब यह है कि PatternLayout.format() कॉल समवर्ती कॉल के दौरान डेटा रेस के लिए अतिसंवेदनशील होते हैं जबकि समवर्ती EnhancedPatternLayout.format() कॉल नहीं हैं।

संबंधित मुद्दे