लॉगर
फाइबर के लिए एक मिडलवेयर जो HTTP अनुरोध और प्रतिक्रियाओं के बारे में विस्तृत जानकारी लॉग करने के लिए उपयोग किया जाता है।
इंटरफ़ेस
func New(config ...Config) fiber.Handler
उदाहरण
फाइबर वेब फ़्रेमवर्क के मिडलवेयर पैकेज को इम्पोर्ट करें:
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
)
नोट: पंजीकरण का क्रम महत्वपूर्ण है। केवल इस मिडलवेयर के बाद पंजीकृत रूट लॉग किया जाएगा। इसलिए, यह मिडलवेयर पंजीकृत होना चाहिए।
फाइबर ऐप्लिकेशन को शुरू करने के बाद, निम्नलिखित तरीकों से मिडलवेयर को पंजीकृत करना संभव है:
// डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ प्रारंभ करें
app.Use(logger.New())
// या कस्टमाइज कॉन्फ़िगरेशन
// रिमोट आईपी और पोर्ट लॉग करें
app.Use(logger.New(logger.Config{
Format: "[${ip}]:${port} ${status} - ${method} ${path}\n",
}))
// अनुरोध आईडी लॉग करें
app.Use(requestid.New())
app.Use(logger.New(logger.Config{
// अधिक विकल्पों के लिए, कॉन्फ़िग खंड देखें
Format: "${pid} ${locals:requestid} ${status} - ${method} ${path}\n",
}))
// समय क्षेत्र और समय प्रारूप बदलें
app.Use(logger.New(logger.Config{
Format: "${pid} ${status} - ${method} ${path}\n",
TimeFormat: "02-जनवरी-2006",
TimeZone: "America/New_York",
}))
// कस्टम फ़ाइल राइटर जोड़ें
file, err := os.OpenFile("./123.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("फाइल खोलने में त्रुटि: %v", err)
}
defer file.Close()
app.Use(logger.New(logger.Config{
Output: file,
}))
// कस्टम टैग जोड़ें
app.Use(logger.New(logger.Config{
CustomTags: map[string]logger.LogFunc{
"कस्टम_टैग": func(आउटपुट logger.Buffer, c *fiber.Ctx, data *logger.Data, extraParam string) (int, error) {
return आउटपुट.WriteString("यह एक कस्टम टैग है")
},
},
}))
// लॉगिंग के बाद कॉलबैक फ़ंक्शन
app.Use(logger.New(logger.Config{
TimeFormat: time.RFC3339Nano,
TimeZone: "Asia/Shanghai",
Done: func(c *fiber.Ctx, logString []byte) {
if c.Response().StatusCode() != fiber.StatusOK {
reporter.SendToSlack(logString)
}
},
}))
// डिफ़ॉल्ट फ़ार्मेट में आउटपुट करते समय रंगों को निष्क्रिय करें
app.Use(logger.New(logger.Config{
DisableColors: true,
}))
कॉन्फ़िगरेशन
संपत्ति | प्रकार | विवरण | डिफ़ॉल्ट मूल्य |
---|---|---|---|
Next | func(*fiber.Ctx) bool |
नेक्स्ट एक समीक्षा कार्य को परिभाषित करता है जो जब यह true लौटाता है तो मिडलवेयर को छोड़ देता है। | nil |
Done | func(*fiber.Ctx, []byte) |
Done एक फ़ंक्शन है जो अभियान के लॉग स्ट्रिंग को आउटपुट में लिखने के बाद कॉल किया जाता है, जिसमें अभियान स्ट्रिंग पैरामीटर के रूप में पास किया जाता है। | nil |
CustomTags | map[string]LogFunc |
tagFunctions कस्टम टैग कार्यों को परिभाषित करता है। | map[string]LogFunc |
Format | string |
फ़ार्मेट लॉग टैग को परिभाषित करता है। | [${time}] ${status} - ${latency} ${method} ${path}\n |
TimeFormat | string |
TimeFormat लॉग समय छंद को परिभाषित करता है। | 15:04:05 |
TimeZone | string |
TimeZone को "UTC", "America/New_York", "Asia/Chongqing", आदि के रूप में निर्दिष्ट किया जा सकता है। | "स्थानीय" |
TimeInterval | time.Duration |
टाइमइंटरवल समय अवधि पहले समय को अपडेट करने के लिए होती है। | 500 * time.Millisecond |
Output | io.Writer |
Output लॉग लिखने के लिए उपयोग किया जाने वाला लेखक है। | os.Stdout |
DisableColors | bool |
अंदरूनी रंगों की लॉग आउट को रंगीन बनाना चाहिए या नहीं इसे निर्धारित करता है। | फॉल्स |
enableColors | bool |
लॉग आउट में रंग सक्षम करने के लिए आंतरिक क्षेत्र। (यह सम्पादनयोग्य फ़ील्ड नहीं है) | - |
enableLatency | bool |
लॉग में ल्याटेंसी मापन सक्षम करने के लिए आंतरिक क्षेत्र। (यह सम्पादनयोग्य फ़ील्ड नहीं है) | - |
timeZoneLocation | *time.Location |
समय क्षेत्र स्थान के लिए आंतरिक क्षेत्र। (यह सम्पादनयोग्य फ़ील्ड नहीं है) | - |
डिफ़ॉल्ट कॉन्फ़िगरेशन
var ConfigDefault = Config{
Next: nil,
Done: nil,
Format: "[${time}] ${status} - ${latency} ${method} ${path}\n",
TimeFormat: "15:04:05",
TimeZone: "स्थानीय",
TimeInterval: 500 * time.Millisecond,
Output: os.Stdout,
DisableColors: false,
}
स्थिर
// लॉगर संबंधित वेरिएबल्स
const (
TagPid = "pid" // प्रक्रिया आईडी
TagTime = "time" // समय
TagReferer = "referer" // संदर्भ
TagProtocol = "protocol" // प्रोटोकॉल
TagPort = "port" // पोर्ट
TagIP = "ip" // आईपी पता
TagIPs = "ips" // आईपी पते
TagHost = "host" // होस्ट
TagMethod = "method" // अनुरोध विधि
TagPath = "path" // पथ
TagURL = "url" // यूआरएल
TagUA = "ua" // उपयोगकर्ता एजेंट
TagLatency = "latency" // लेटेंसी
TagStatus = "status" // प्रतिसाद स्थिति
TagResBody = "resBody" // प्रतिसाद बॉडी
TagReqHeaders = "reqHeaders" // अनुरोध हेडर्स
TagQueryStringParams = "queryParams" // क्वेरी पैरामीटर्स
TagBody = "body" // अनुरोध बॉडी
TagBytesSent = "bytesSent" // भेजे गए बाइट
TagBytesReceived = "bytesReceived" // प्राप्त बाइट
TagRoute = "route" // मार्ग
TagError = "error" // त्रुटि
// Deprecated: इस्तेमाल करें TagReqHeader को
TagHeader = "header:" // अनुरोध हेडर
TagReqHeader = "reqHeader:" // अनुरोध हेडर
TagRespHeader = "respHeader:" // प्रतिसाद हेडर
TagQuery = "query:" // क्वेरी
TagForm = "form:" // फॉर्म
TagCookie = "cookie:" // कुकी
TagLocals = "locals:" // स्थानीय चर
// रंग
TagBlack = "black" // काला
TagRed = "red" // लाल
TagGreen = "green" // हरा
TagYellow = "पीला" // पीला
TagBlue = "नीला" // नीला
TagMagenta = "मैजेंटा" // मैजेंटा
TagCyan = "सियान" // सियान
TagWhite = "सफ़ेद" // सफ़ेद
TagReset = "रीसेट" // रंग रीसेट
)