Go में लॉगिंग: मानक लाइब्रेरी log और विकल्पों का अवलोकन

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

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

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

Go में लॉगिंग क्या है?

लॉगिंग प्रोग्राम के निष्पादन के दौरान होने वाली घटनाओं को रिकॉर्ड करने की प्रक्रिया है। Go में, मानक लाइब्रेरी के log पैकेज के माध्यम से लॉगिंग के लिए अंतर्निहित समर्थन प्रदान किया गया है। यह पैकेज stdout/stderr पर संदेश प्रिंट करने, उन्हें फ़ाइलों में लिखने और आउटपुट फ़ॉर्मेट को प्रबंधित करने का एक सरल और प्रभावी तरीका प्रदान करता है। डिबगिंग, एप्लिकेशन प्रदर्शन की निगरानी, सुरक्षा ऑडिट और प्रोडक्शन वातावरण में त्रुटियों के विश्लेषण के लिए लॉग आवश्यक हैं।

लॉगिंग की आवश्यकता क्यों है?

  • डिबगिंग: विकास के दौरान त्रुटियों का तुरंत पता लगाना और उन्हें ठीक करना।
  • निगरानी: रीयल-टाइम में एप्लिकेशन की स्थिति को ट्रैक करना।
  • ऑडिट: उपयोगकर्ता क्रियाओं और सिस्टम घटनाओं को रिकॉर्ड करना।
  • प्रदर्शन विश्लेषण: बाधाओं और प्रदर्शन समस्याओं की पहचान करना।

स्थापना

log पैकेज Go की मानक लाइब्रेरी का हिस्सा है, इसलिए किसी अतिरिक्त स्थापना की आवश्यकता नहीं है। बस इसे अपने प्रोजेक्ट में इम्पोर्ट करें:

import "log"

उन्नत लॉगिंग के लिए लोकप्रिय तृतीय-पक्ष लाइब्रेरी हैं, जिन्हें go get के माध्यम से स्थापित किया जाता है:

go get github.com/sirupsen/logrus# याgo get go.uber.org/zap

मानक लाइब्रेरी log के मुख्य फंक्शन

  • log.Print(), log.Printf(), log.Println() — संदेश प्रदर्शित करना।
  • log.Fatal(), log.Fatalf(), log.Fatalln() — संदेश प्रदर्शित करना और कोड 1 के साथ प्रोग्राम समाप्त करना।
  • log.Panic(), log.Panicf(), log.Panicln() — संदेश प्रदर्शित करना और पैनिक कॉल करना।

Go में कोड उदाहरण

package main

import (\t"log"\t"os")

func main() {\t// फ़ाइल में आउटपुट सेट करना\tfile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)\tif err != nil {\t\tlog.Fatal(err)\t}\tdefer file.Close()

\t// प्रीफ़िक्स और फ़्लैग के साथ लॉगर बनाना\tlogger := log.New(file, "INFO: ", log.Ldate|log.Ltime|log.Lshortfile)

\t// लॉगिंग के उदाहरण\tlogger.Println("एप्लिकेशन शुरू हुआ")\tlogger.Printf("उपयोगकर्ता %s ने सिस्टम में लॉग इन किया", "admin")

\t// मानक लॉगर का उपयोग\tlog.Println("यह stdout में संदेश है")}

कब उपयोग करें

  • मानक log: सरल प्रोजेक्ट, स्क्रिप्ट, कमांड-लाइन उपयोगिताओं के लिए।
  • Logrus: प्रोडक्शन एप्लिकेशन के लिए जहाँ लॉगिंग स्तर (Info, Warn, Error, Debug) और JSON फ़ॉर्मेट में संरचित लॉग की आवश्यकता होती है।
  • Zap: उच्च-लोड सिस्टम के लिए जहाँ प्रदर्शन महत्वपूर्ण है (न्यूनतम मेमोरी आवंटन)।
  • Zerolog: एक और तेज़ लॉगर जो zero allocation का समर्थन करता है।

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

```

अनुशंसाएँ