क्या मुझे log4j को slf4j में अपग्रेड करने की आवश्यकता है [बंद]


10

हम कुछ योजना बनाई पुनर्रचना के लिए हमारे जेईई वेब आवेदन की समीक्षा कर रहे हैं और सुझावों में से एक को बदलने के लिए है log4jके साथ logbackयाslf4j

टीम इस पर स्पष्ट नहीं है कि हमें यह करना चाहिए - क्योंकि वर्तमान में हम इसका पालन ​​करना चाहते हैं यदि यह टूट नहीं गया है, तो इस क्षेत्र में ठीक न करें

संपादित करें: मैं लॉगिंग फ्रेमवर्क की तुलना के लिए नहीं कह रहा हूं, लेकिन जब हम log4j से काफी खुश हैं , तो क्या यह फ्रेमवर्क को बदलने के लिए एक मूल्यवान रिफैक्टरिंग तत्व है

जवाबों:


18

एक महत्वपूर्ण प्रश्न जो आपको ध्यान में रखना चाहिए: क्या आप एक पुस्तकालय का निर्माण करते हैं जो किसी और द्वारा उपयोग किया जाता है या आप अंतिम उत्पाद का निर्माण करते हैं?

पहले मामले में, SLF4j बहुत महत्वपूर्ण है, क्योंकि कोई आपके पुस्तकालय को अपने सॉफ़्टवेयर में एकीकृत करेगा, जिसमें पहले से ही लॉगिंग है और यदि आपकी कक्षाएं इसका उपयोग करती हैं तो यह अच्छा होगा।

दूसरे मामले में, मैं कहूंगा कि आप इसे वैसे ही छोड़ सकते हैं जैसे यह है। शायद अगली परियोजना पर slf4j का उपयोग करने के बारे में सोचें।


7

मत करो। इसके बजाय उपयोगी, मूल्यवान सुविधाओं को लागू करने में अपना बेहतर समय व्यतीत करें।


6
-1: लॉगिंग जितना संभव हो उतना अच्छा होना चाहिए!

7
तो log4j, जो वे उपयोग करते हैं, पर्याप्त उपयोगी नहीं है? फ्रेमवर्क को सिर्फ इसलिए बदलना क्योंकि यह पॉसिबल है, समय की बर्बादी है। ओपी ने भी कहा कि लॉगिंग टूटी नहीं थी।
मार्टिन विकमैन

1
मैं इसे वोट नहीं करूंगा। मार्टिन सही हो सकता है। अगर जोस के पास कुछ तैयार उत्पाद हैं (पुस्तकालय नहीं, तो मेरा जवाब देखें) उसे बस वैसे ही छोड़ देना चाहिए और कहीं और समय बिताना चाहिए ...
टिम बुथ

2
@ Thorbjørn, नहीं, लॉगिंग (सामान्य रूप में सुविधाओं के रूप में) के लिए आवश्यक के रूप में अच्छा होना चाहिए । यदि उन्हें Log4J के साथ कोई समस्या नहीं है, (btw आपने किसी भी उद्धृत नहीं किया है जो इसे बदलने के लिए आवश्यक बना देगा), उनके समय के सबसे बेहतर उपयोग हैं।
पेटर टॉर्क

1
-1: एक से अधिक की बिना शर्त की प्राथमिकता IMHO iswrong है। टिम ब्यूथ के उत्तर की सशर्तता के साथ इस उत्तर के विपरीत प्रयास करें।
अजीत गंगा

1

यदि Log4J आपके लिए काम करता है, तो उसे बदलने का कोई कारण नहीं है। यदि ऐसा नहीं होता है, तो एक विकल्प की तलाश करें जो वह करता है जो आपको चाहिए, जो कि slf4j हो सकता है या नहीं।

सिर्फ इसलिए कि कोई कहता है कि कुछ अच्छा है, किसी और चीज की वजह से कभी भी आपके पूरे एप्लिकेशन को बदलने का कारण नहीं होना चाहिए (या फिर कुछ नया अपनाने के लिए)।


0

Slf4j एक एपीआई है जो आपको यह चुनने की अनुमति देता है कि आप संकलन समय तय करने के बजाय लॉगजीजे, लॉगबैक या डिफॉल्ट जेडके लॉगिंग का उपयोग करें (जो तब होता है जब आप सीधे लॉग 4 जे पर कोड करते हैं)

Slf4j {} -construct को भी प्रदान करता है जो महंगे toString () कॉल में देरी कर सकता है, उन्हें पूरी तरह से टालना यदि लॉग स्टेटमेंट सक्षम नहीं है।

आप बाद में इंजन का चयन कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.