log4j लॉगिंग पदानुक्रम आदेश


169

Log4j लॉगिंग का पदानुक्रम क्या है?

DEBUG
INFO
WARN
ERROR
FATAL

कौन सा सबसे अधिक लॉगिंग प्रदान करता है जो मुद्दों के निवारण में मददगार होगा? क्या कोई भी आदेश या पदानुक्रम प्रदान कर सकता है जिसमें लॉगिंग उच्चतम से लेकर सबसे कम तक होती है? धन्यवाद!

जवाबों:


292

यह तालिका आपके लिए उपयोगी हो सकती है:

छांटने का स्तर

पहले कॉलम के नीचे जाकर, आप देखेंगे कि लॉग प्रत्येक स्तर में कैसे काम करता है। जैसे कि WARN , ( FATAL, ERROR और WARN ) दिखाई देंगे। के लिए रवाना , कुछ भी नहीं दिखाई जाएगी।


दृश्यता और आइटम शब्द स्वयं व्याख्यात्मक नहीं हैं। मैं देखता हूं कि इस पर आधिकारिक दस्तावेज भी अस्पष्ट है। जैसे उत्पादन विधि error, info, debug, लकड़हारा प्रदान करती है की आदि लॉगिंग संदेश के लिए एक प्राथमिकता / गंभीरता स्तर। यदि लॉगिंग वास्तव में प्रभावी होती है (संदेश दिखाई देगा) तो उपयोग किए जा रहे लॉगर के प्रभावी लॉगिंग स्तर पर निर्भर करता है।
वुल्फ

1
लिंक टूट गया। कृपया ठीक करें या निकालें
युरिन

यद्यपि यह प्रश्न का उत्तर देता है (यह सिर्फ "पदानुक्रम आदेश" के लिए पूछ रहा है), मैंने अंततः आपकी खराब शब्दावली के लिए नीचा दिखाया: नीचे जा रहा है , "दृश्यता" काम करता है , आइटम । क्या आप यह नहीं समझाना चाहते हैं कि लकड़हारा विन्यास वास्तविक लॉगिंग (लॉग घटनाओं को पास करने) को कैसे प्रभावित करता है? कृपया एक और अपडेट पर विचार करें। BTW: आधिकारिक दस्तावेज में तालिका (अनुभाग के अंत में) इलाज करने में भिन्न होती है OFFऔर ALL, ठीक है, स्रोत के कुछ पढ़ने के बाद (विशेष मामलों को नहीं पाकर) मुझे संदेह है कि उनकी तालिका सही है।
वुल्फ

धन्यवाद वुल्फ, मैंने आपकी टिप्पणियों के अनुसार उत्तर को अपडेट किया है।
nxhoaf

2
मुझे लगता है कि यह लॉग स्तरों का एक उत्कृष्ट दृश्य और अपेक्षित लॉग संदेश प्रकार है जो एक विशिष्ट लकड़हारा स्तर सेटिंग के लिए आउटपुट होगा। मेरा एकमात्र सुझाव यह हो सकता है कि दर्शक को निर्देशित करने के लिए वैकल्पिक रंग की पंक्ति हो जो चार्ट को स्तंभ के बजाय पंक्ति द्वारा व्याख्या की जानी चाहिए। (यानी पंक्तियाँ लकड़हारे के स्तर का प्रतिनिधित्व करती हैं और कॉलम लॉग संदेश प्रकारों का प्रतिनिधित्व करते हैं जो मौजूद होंगे)
लैरी हेक्टर

149

बल का उपयोग करें, स्रोत पढ़ें ( संकलित Priorityऔर Levelवर्ग से अंश , TRACE स्तर संस्करण 1.2.12 में पेश किया गया था):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 

या वर्ग के लिए log4j एपीआईLevel , जो इसे काफी स्पष्ट करता है।

जब पुस्तकालय यह तय करता है कि एक निश्चित विवरण को प्रिंट करना है या नहीं, तो यह जिम्मेदार Loggerवस्तु के प्रभावी स्तर (विन्यास के आधार पर) की गणना करता है और इसकी तुलना LogEvent(एस ’स्तर से करता है (यह निर्भर करता है कि कोड में किस विधि का उपयोग किया गया था - ट्रेस / डिबग / ... / घातक )। यदि LogEvent's स्तर अधिक या बराबर Loggerहै, तो LogEvent"" मुद्रित "परिशिष्ट (ओं) को भेजा जाता है। मूल में, यह सभी एक पूर्णांक तुलना के लिए उबलता है और यही वह जगह है जहां ये स्थिरांक कार्रवाई के लिए आते हैं।


56
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL

1
यह Tutorialspoint.com/log4j/log4j_log_levels.htm पर उपलब्ध कराई गई जानकारी के साथ परस्पर विरोधी है।
माइक

1
कोड की जांच करें जहां प्रमाण के लिए पूर्णांक चर हैं docjar.com/html/api/org/apache/log4j/Level.java.html
the.malkolm

4
अपने लिंक पर यह कहा है कि यह पूरी तरह से एक ही जैसा कि मैंने कहा "सभी <डीबग <जानकारी <त्रुटि <घातक <रवाना चेतावनी <" और
the.malkolm

6
वेन आरेख बंद () ऑल (TRACE (DEBUG (INFO (WARN (
ERATOR

Log4j पर @ लॉगिंग स्तर वे पहली तालिका में वर्णमाला क्रम का उपयोग करते हैं । लापता को छोड़कर trace, वे बाद में सही ढंग से बताते हैं कि ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF(जिसमें <कम महत्वपूर्ण है)
वुल्फ

24

Log4j लॉगिंग स्तर की पदानुक्रम उच्चतम से निम्नतम क्रम में निम्नानुसार हैं:

  • ट्रेस
  • डीबग
  • जानकारी
  • चेतावनी
  • त्रुटि
  • घातक
  • बंद

TRACE लॉग स्तर उच्चतम लॉगिंग प्रदान करता है जो समस्याओं के निवारण में मददगार होगा। मुद्दों को शूट करने के लिए DEBUG लॉग स्तर भी बहुत उपयोगी है।

लॉग लेवल के बारे में अधिक जानकारी के लिए आप इस लिंक का भी उल्लेख कर सकते हैं: https://log.apache.org/log4j/2.0/manual/ RGBPure.html


12

[ Http://javarevisited.blogspot.com/2011/05/top-10-tips-on-log-in-java.html] से लिया गया

DEBUG सबसे कम प्रतिबंधित जावा लॉगिंग स्तर है और हमें एक एप्लिकेशन डिबग करने के लिए आवश्यक सब कुछ लिखना चाहिए, इस जावा लॉगिंग मोड का उपयोग केवल विकास और परीक्षण वातावरण पर किया जाना चाहिए और इसका उपयोग उत्पादन वातावरण में नहीं किया जाना चाहिए।

INFO DEBUG java लॉगिंग स्तर की तुलना में अधिक प्रतिबंधित है और हमें उन संदेशों को लॉग करना चाहिए जो कि सर्वर जैसे सूचनात्मक उद्देश्य से शुरू किए गए हैं, INFO स्तर लॉगिंग में आने वाले संदेशों, आउटगोइंग संदेशों आदि को जावा में लॉग इन करें।

WARN INFO जावा लॉगिंग स्तर की तुलना में अधिक प्रतिबंधित है और क्लाइंट और सर्वर के बीच खो जाने वाले संदेशों जैसे चेतावनी चेतावनी लॉग करने के लिए उपयोग किया जाता है। डेटाबेस कनेक्शन खो गया, सॉकेट अपनी सीमा तक पहुंच गया। ये संदेश और जावा लॉगिंग स्तर लगभग महत्वपूर्ण हैं क्योंकि आप जावा में इन लॉगिंग संदेशों पर अलर्ट सेटअप कर सकते हैं और अपनी सहायता टीम को आपके जावा एप्लिकेशन के स्वास्थ्य की निगरानी कर सकते हैं और इस चेतावनी संदेशों पर प्रतिक्रिया कर सकते हैं। सारांश में WARN स्तर का उपयोग जावा में लॉगिंग के लिए चेतावनी संदेश लॉग करने के लिए किया जाता है।

ERROR WARN की तुलना में अधिक प्रतिबंधित जावा लॉगिंग स्तर है और इसका उपयोग एरर्स और एक्सेप्शन लॉग करने के लिए किया जाता है, आप इस जावा लॉगिंग स्तर पर अलर्ट सेट कर सकते हैं और इस संदेशों पर प्रतिक्रिया करने के लिए अलर्ट टीम की निगरानी कर सकते हैं। ERROR जावा में लॉगिंग के लिए गंभीर है और आपको इसे हमेशा प्रिंट करना चाहिए।

FATAL जावा लॉगिंग स्तर बहुत गंभीर त्रुटि घटनाओं को निर्दिष्ट करता है जो संभवतः एप्लिकेशन को गर्भपात की ओर ले जाएगा। इसके बाद ज्यादातर आपका एप्लीकेशन क्रैश हो जाता है और रुक जाता है।

OFF जावा लॉगिंग स्तर में उच्चतम संभव रैंक है और जावा में लॉगिंग को बंद करने का इरादा है।


4

पदानुक्रम आदेश

  1. सब
  2. ट्रेस
  3. डीबग
  4. जानकारी
  5. चेतावनी
  6. त्रुटि
  7. घातक
  8. बंद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.