成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

GolangGinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么

這篇文章主要介紹“Golang GinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么”,在日常操作中,相信很多人在Golang GinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Golang GinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元彭山做網(wǎng)站,已為上家服務(wù),為彭山各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

記錄日志到文件

利用io.MultiWriter多寫出器可以實(shí)現(xiàn)日志記錄到文件的同時也輸出到控制臺

package main  import (   "github.com/gin-gonic/gin"   "io"   "os" )  func main() {   // Disable Console Color, you don't need console color when writing the logs to file.   // 禁用控制臺日志顏色,日志寫到文件的時候,不需要打開控制臺日志顏色   gin.DisableConsoleColor()   // Logging to a file.  新建日志文件,得到文件結(jié)構(gòu),文件結(jié)構(gòu)實(shí)現(xiàn)了寫出器Writer接口   f, _ := os.Create("gin.log")   //io.MultiWriter(多寫出器方法)創(chuàng)建一個寫出器, 將傳入的多個寫出器追加為一個寫出器數(shù)組, 得到的寫出器實(shí)現(xiàn)了Writer接口, 它會將需要寫出的數(shù)據(jù)寫出到每個寫出器, 就像Unix命令tee,會將數(shù)據(jù)寫入文件的同時打印到標(biāo)準(zhǔn)輸出   //配置Gin默認(rèn)日志寫出器為得到的多寫出器   gin.DefaultWriter = io.MultiWriter(f)   // Use the following code if you need to write the logs to file and console at the same time.   // 使用下面的代碼,將日志寫入文件的同時,也輸出到控制臺   // gin.DefaultWriter = io.MultiWriter(f, os.Stdout)    router := gin.Default()   router.GET("/ping", func(c *gin.Context) {     c.String(200, "pong")   })    router.Run(":8080") }

自定義日志格式

利用Gin的LoggerWithFormatter方法實(shí)例化一個日志器Logger中間件,并帶有指定的日志格式

package main  import (   "fmt"   "github.com/gin-gonic/gin"   "time" )  func main() {   router := gin.New()    // LoggerWithFormatter middleware will write the logs to gin.DefaultWriter   // By default gin.DefaultWriter = os.Stdout   // type LogFormatter func(params LogFormatterParams) string 這里的LogFormatterParams是一個格式化日志參數(shù)的結(jié)構(gòu)體   router.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {     // your custom format     // 127.0.0.1 - [Sun, 22 Nov 2020 17:09:53 CST] "GET /ping HTTP/1.1 200 56.113µs "curl/7.64.1" "     return fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" %s\"\n",       param.ClientIP,                       //請求客戶端的IP地址       param.TimeStamp.Format(time.RFC1123), //請求時間       param.Method,                         //請求方法       param.Path,                           //路由路徑       param.Request.Proto,                  //請求協(xié)議       param.StatusCode,                     //http響應(yīng)碼       param.Latency,                        //請求到響應(yīng)的延時       param.Request.UserAgent(),            //客戶端代理程序       param.ErrorMessage,                   //如果有錯誤,也打印錯誤信息     )   }))   router.Use(gin.Recovery())    router.GET("/ping", func(c *gin.Context) {     c.String(200, "pong")   })    router.Run(":8080") } //模擬請求測試: curl http://localhost:8080/ping

打開/禁用日志顏色

  • gin.DisableConsoleColor() 禁用日志顏色

  • gin.ForceConsoleColor() 強(qiáng)制開啟日志顏色, 采用虛擬終端TTY顏色方案

package main  import (   "github.com/gin-gonic/gin" )  func main() {   // 默認(rèn)輸出到控制臺的日志顏色是根據(jù)您使用的虛擬終端TTY來著色的   // Disable log's color 禁用日志顏色   gin.DisableConsoleColor()    // Force log's color 強(qiáng)制開啟日志顏色   //gin.ForceConsoleColor()    // Creates a gin router with default middleware:   // logger and recovery (crash-free) middleware   router := gin.Default()    router.GET("/ping", func(c *gin.Context) {     c.String(200, "pong")   })    router.Run(":8080") }  //模擬請求測試: curl http://localhost:8080/ping

到此,關(guān)于“Golang GinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

文章名稱:GolangGinWeb之自定義日志格式和輸出方式/啟禁日志顏色的方法是什么
文章URL:http://jinyejixie.com/article2/ggeeic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、Google、營銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
岑巩县| 铅山县| 安龙县| 城口县| 宿松县| 泽普县| 阿城市| 广昌县| 增城市| 桐梓县| 通化县| 吉林省| 台安县| 鹰潭市| 漾濞| 防城港市| 夏河县| 香格里拉县| 贵南县| 马龙县| 米林县| 淮阳县| 乌拉特中旗| 青阳县| 西吉县| 清流县| 新竹县| 延吉市| 洱源县| 锡林浩特市| 尖扎县| 乌兰浩特市| 达孜县| 瑞安市| 徐闻县| 屏山县| 岑巩县| 潮安县| 东兰县| 札达县| 天峨县|