मुझे अक्सर
system.out.println (someObject) होने से नाराज़ होता है;
और, जो भी लॉगगर की आवश्यकता के लिए इसे बदलते हैं
LOG.info (someObject);
और .toString जोड़ने के लिए () इसे संकलित करने के लिए
LOG.info (someObject.toString ());
मुझे याद नहीं आ रहा है कि एक लकड़हारा का प्रयोग किया जाता है जो ऑब्जेक्ट में बस नहीं लेता है और इस पर .to स्ट्रिंग () को करने की कोशिश करता है, जिससे मुझे आश्चर्य हो रहा है कि इसके लिए एक विशिष्ट कारण है। निश्चित रूप से मैं सब कुछ करने के लिए .toString () जोड़कर नाराज हो सकता है?
कुंजी बिंदु लॉगिंग के उद्देश्य को समझना है लॉगर्स वहां किसी भी घटना के बारे में मानव पठनीय अंग्रेजी संदेशों को मुद्रित करने के लिए होते हैं जो एक आवेदन के भीतर होता है। और लॉगिंग एपीआई इस मूल सिद्धांत के बाद बनाई गई हैं
LOG.info (someObject.toString ());
उपरोक्त पंक्ति के साथ समस्या यह है कि लॉगिंग की बुनियादी अवधारणा कुछ हासिल करने की कोशिश कर रहे हैं। आप उस ऑब्जेक्ट को लॉग करना चाहते हैं जो पहले से ही मानव पठनीय इकाई नहीं है और फिर इसे स्ट्रिंग में या तो कास्टिंग करके काम करने के लिए या आप स्ट्रिंग () विधि को लागू कर सकते हैं या अंत में आप अतिभारित फ़ंक्शन के एक पर एक नज़र डाल सकते हैं < सार्वजनिक शून्य जानकारी (स्ट्रिंग प्रारूप, ऑब्जेक्ट ... आर्गुमेंट्स)
ऑब्जेक्ट को सीधे लॉग करना, ज्यादातर डेवलपर्स द्वारा किया जाता है, जब वे कहने देने के लिए डीबग करना चाहते हैं वस्तु की सामग्री या ऐसा कुछ, इसलिए इसे प्राप्त करने का सबसे अच्छा तरीका सही तरीके से स्ट्रिंग () पद्धति को लागू करना होगा।
मैं भी इसे देखने के लिए सलाह देता हूं, यह इसके लिए तैयार है अपनी बीन्स के सामान्य हैशोड () और टूस्ट्रिंग () कार्यों के कार्यान्वयन का उपयोग करें ताकि आपको अपने कोड के माध्यम से जाना और पद्धति को एक-एक करके लागू न करें।
No comments:
Post a Comment