Java एप्लिकेशन मॉनिटरिंग और लॉगिंग: 2024 संपूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

क्या आपका Java एप्लिकेशन आँख बंद करके चल रहा है? इसे ठीक करें

\n\n

कल्पना करें: आप माइक्रोसर्विस का नया वर्जन डिप्लॉय करते हैं, लोकल मशीन पर सब कुछ ठीक है, टेस्ट पास हो जाते हैं। एक घंटे बाद — प्रोडक्शन में क्रैश। कारण कहाँ खोजें? Java एप्लिकेशन की सही मॉनिटरिंग और लॉगिंग के बिना, आप अंधेरे में तीर चलाएंगे, पैसे और नसें खो देंगे।

\n\n

इस लेख में, हम आपके एप्लिकेशन को 'ब्लैक बॉक्स' से एक पारदर्शी सिस्टम में बदलने का तरीका बताएंगे। आप सीखेंगे कि आधुनिक लाइब्रेरीज़ का उपयोग करके Java में लॉगिंग कैसे सेटअप करें, मेट्रिक्स कैसे इकट्ठा करें और एक पूर्ण मॉनिटरिंग सिस्टम कैसे बनाएं। चलिए शुरू करते हैं!

\n\n

Java एप्लिकेशन मॉनिटरिंग और लॉगिंग क्यों ज़रूरी है

\n\n

आधुनिक Java डेवलपमेंट सिर्फ कोड लिखना नहीं है। यह जटिल डिस्ट्रीब्यूटेड सिस्टम, माइक्रोसर्विसेज और कंटेनर को मैनेज करना है। ऑब्जर्वेबिलिटी टूल्स के बिना, आप यह नहीं कर पाएंगे:

\n\n
    \n
  • खराबी के कारण जल्दी से ढूंढना
  • \n
  • लोड का अनुमान लगाना
  • \n
  • परफॉर्मेंस ट्रैक करना
  • \n
  • ग्राहकों के सामने SLA का पालन करना
  • \n
\n\n

सही तरीके से सेटअप की गई Java एप्लिकेशन मॉनिटरिंग आपको एक सुपरपावर देती है — रियल टाइम में कोड के अंदर क्या हो रहा है, यह देखना। और यह कोई लक्ज़री नहीं, बल्कि ज़रूरत है।

\n\n

Java में लॉगिंग: टेक्नोलॉजी स्टैक चुनना

\n\n

System.out.println() क्यों बुरा है

\n\n

कई नए डेवलपर डिबगिंग के लिए System.out.println() का उपयोग करते हैं। छोटे शैक्षणिक प्रोजेक्ट में यह चल सकता है, लेकिन प्रोडक्शन में यह आपदा लाएगा:

\n\n
    \n
  • लॉगिंग लेवल (debug, info, error) नहीं होते
  • \n
  • आउटपुट को लचीले ढंग से कॉन्फ़िगर नहीं किया जा सकता
  • \n
  • ऑटोमेटिक सिस्टम से पार्स करना मुश्किल
  • \n
  • सिंक्रोनस राइटिंग एप्लिकेशन को धीमा करती है
  • \n
\n\n

इस तरीके को भूल जाइए। असली प्रोफेशनल प्रोफेशनल लाइब्रेरीज़ का उपयोग करते हैं।

\n\n

सबसे अच्छा विकल्प: SLF4J + Logback

\n\n

SLF4J (Simple Logging Facade for Java) एक एब्स्ट्रैक्शन है जो आपको किसी भी लॉगिंग इम्प्लीमेंटेशन को कनेक्ट करने देता है। Logback आज सबसे लोकप्रिय और परफॉर्मेंट इम्प्लीमेंटेशन है।

\n\n

pom.xml (Maven) या build.gradle (Gradle) में जोड़ें:

\n\n
// Maven dependency\n<dependency>\n    <groupId>ch.qos.logback</groupId>\n    <artifactId>logback-classic</artifactId>\n    <version>1.4.14</version>\n</dependency>\n\n// SLF4J API (आमतौर पर Logback के साथ आता है)\n<dependency>\n    <groupId>org.slf4j</groupId>\n    <artifactId>slf4j-api</artifactId>\n    <version>2.0.9</version>\n</dependency>
\n\n

Logback कॉन्फ़िगरेशन का उदाहरण (logback.xml)

\n\n
<configuration>\n    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">\n        <file>logs/app.log</file>\n        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\n            <fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>\n            <maxHistory>30</maxHistory>\n        </rollingPolicy>\n        <encoder>\n            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>\n        </encoder>\n    </appender>\n\n    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">\n        <encoder>\n            <pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) %cyan(%logger{36}) - %msg%n</pattern>\n        </encoder>\n    </appender>\n\n    <root level="info">\n        <appender-ref ref="FILE"/>\n        <appender-ref ref="CONSOLE"/>\n    </root>\n</configuration>
\n\n

कोड में कैसे उपयोग करें

\n\n
import org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic class OrderService {\n    private static final Logger log = LoggerFactor                

ब्लॉग

पुस्तक अनुशंसाएँ