最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

GO語言實(shí)現(xiàn)日志切割的示例詳解

 更新時(shí)間:2023年07月28日 10:19:46   作者:LeoForBest  
日志記錄對(duì)程序排查問題比較關(guān)鍵,所以本文將選擇Logrus和lumberjack兩個(gè)庫(kù)進(jìn)行日志切割以及記錄調(diào)用源,感興趣的小伙伴可以了解一下

準(zhǔn)備工作

日志記錄對(duì)程序排查問題比較關(guān)鍵,記錄下GO中日志選擇,從以下出發(fā)點(diǎn)考慮:

  • 日志文件能自動(dòng)切割,以免過大
  • 能記錄從哪個(gè)文件哪行代碼調(diào)用的,方便排查問題
  • 配置簡(jiǎn)單明了
  • 庫(kù)文件使用人數(shù)較多,穩(wěn)定

經(jīng)過一段時(shí)間摸索,最終選擇了Logrus和lumberjack兩個(gè)庫(kù),使用人數(shù)都比較多。

安裝兩個(gè)庫(kù)

go get gopkg.in/natefinch/lumberjack.v2
go get github.com/sirupsen/logrus

代碼

實(shí)際中一行配置就可以完成,后續(xù)只用調(diào)用logrus.Debug、logrus.Info同標(biāo)準(zhǔn)庫(kù)一樣只用log改為logrus十分簡(jiǎn)單明了

    logrus.SetOutput(io.MultiWriter(os.Stdout, &lumberjack.Logger{
        Filename:   "go-log.log",
        MaxBackups: 10,
        MaxSize:    20,
    }))

整體代碼如下,基本能滿足實(shí)際使用需求

個(gè)別需求調(diào)整可以參考這兩個(gè)文檔

package main

import (
	"io"
	"os"
	"time"

	"github.com/sirupsen/logrus"
	"gopkg.in/natefinch/lumberjack.v2"
)

func main() {
	// 同時(shí)輸出到終端和文件
	logrus.SetOutput(io.MultiWriter(os.Stdout, &lumberjack.Logger{
		Filename:   "go-log.log",
		MaxBackups: 10,
		MaxSize:    20,
	}))
	/*只輸出到文件的話只用以下寫法
	logrus.SetOutput(&lumberjack.Logger{
		Filename:   "go-log.log",
		MaxBackups: 10,
		MaxSize:    20,
	})
	*/

	// 這個(gè)在日志中記錄代碼位置,十分有用
	logrus.SetReportCaller(true)
	
	// 設(shè)置輸出等級(jí),按實(shí)際需求設(shè)置,可以忽略
	logrus.SetLevel(logrus.InfoLevel)
	logrus.Debug("debug message")
	logrus.Infof("info message at %s\n", time.Now().Format("2006-01-02 15:04:05"))
	logrus.Error("error message")
}

使用效果

logrus.SetReportCaller(true)可以自動(dòng)在日志當(dāng)中記錄代碼調(diào)用位置,設(shè)置為false時(shí)候不開啟

到此這篇關(guān)于GO語言實(shí)現(xiàn)日志切割的示例詳解的文章就介紹到這了,更多相關(guān)GO日志切割內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于golang類型推斷和變量重聲明詳解

    關(guān)于golang類型推斷和變量重聲明詳解

    在Go語言中,類型推斷可以根據(jù)變量的初始化值自動(dòng)推斷出變量的類型,而不需要顯式地聲明變量類型,變量重聲明可以在同一作用域內(nèi)重復(fù)聲明一個(gè)變量,只要其中至少一個(gè)是新的變量,本就簡(jiǎn)單的給大家介紹一下golang類型推斷和變量重聲明,需要的朋友可以參考下
    2023-08-08
  • Golang?流水線設(shè)計(jì)模式實(shí)踐示例詳解

    Golang?流水線設(shè)計(jì)模式實(shí)踐示例詳解

    這篇文章主要為大家介紹了Golang?流水線設(shè)計(jì)模式實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • go內(nèi)存緩存BigCache之Entry封裝源碼閱讀

    go內(nèi)存緩存BigCache之Entry封裝源碼閱讀

    這篇文章主要介紹了go內(nèi)存緩存BigCache之Entry封裝源碼閱讀
    2023-09-09
  • 淺析Go語言如何在select語句中實(shí)現(xiàn)優(yōu)先級(jí)

    淺析Go語言如何在select語句中實(shí)現(xiàn)優(yōu)先級(jí)

    這篇文章主要為大家詳細(xì)介紹了Go語言如何在select語句中實(shí)現(xiàn)優(yōu)先級(jí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Go語言將string解析為time.Time時(shí)兩種常見報(bào)錯(cuò)

    Go語言將string解析為time.Time時(shí)兩種常見報(bào)錯(cuò)

    本文主要介紹了Go語言將string解析為time.Time時(shí)兩種常見報(bào)錯(cuò),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Go anko實(shí)現(xiàn)支持腳本語言

    Go anko實(shí)現(xiàn)支持腳本語言

    anko是一個(gè)可以讓 Go 項(xiàng)目支持腳本語言的小工具,換句話說,就是可以給 Go 項(xiàng)目加點(diǎn)“腳本魔法”,下面就跟隨小編一起來學(xué)習(xí)一下他的具體使用吧
    2024-11-11
  • golang實(shí)現(xiàn)基于channel的通用連接池詳解

    golang實(shí)現(xiàn)基于channel的通用連接池詳解

    這篇文章主要給大家介紹了關(guān)于golang實(shí)現(xiàn)基于channel的通用連接池的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Golang 運(yùn)算符及位運(yùn)算詳解

    Golang 運(yùn)算符及位運(yùn)算詳解

    這篇文章主要介紹了Golang 運(yùn)算符及位運(yùn)算詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang channel讀取數(shù)據(jù)的幾種情況

    golang channel讀取數(shù)據(jù)的幾種情況

    本文主要介紹了golang channel讀取數(shù)據(jù)的幾種情況,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • golang判斷文本文件是否是BOM格式的方法詳解

    golang判斷文本文件是否是BOM格式的方法詳解

    在Go語言中,我們可以通過讀取文本文件的前幾個(gè)字節(jié)來識(shí)別它是否是BOM格式的文件,BOM(Byte Order Mark)是UTF編碼標(biāo)準(zhǔn)中的一部分,用于標(biāo)示文本文件的編碼順序,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10

最新評(píng)論

临夏市| 建阳市| 安吉县| 沐川县| 伊宁县| 贵南县| 河源市| 龙井市| 仙游县| 富裕县| 菏泽市| 安吉县| 天长市| 渭南市| 安徽省| 宁陕县| 东山县| 永善县| 嘉善县| 侯马市| 龙陵县| 屏山县| 哈尔滨市| 任丘市| 增城市| 麻栗坡县| 巴林左旗| 蕲春县| 凤山市| 长阳| 吴江市| 盈江县| 拉萨市| 东宁县| 专栏| 宣恩县| 浦城县| 宜宾市| 平南县| 杨浦区| 长海县|