主頁 > 知識(shí)庫 > go日志系統(tǒng)logrus顯示文件和行號(hào)的操作

go日志系統(tǒng)logrus顯示文件和行號(hào)的操作

熱門標(biāo)簽:地方門戶網(wǎng)站 AI電銷 Linux服務(wù)器 服務(wù)外包 呼叫中心市場(chǎng)需求 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 百度競(jìng)價(jià)排名

logrus默認(rèn)不支持顯示文件名和行號(hào),不太友好,但是在v1.2.0版本已經(jīng)修復(fù)??梢酝ㄟ^setReportCaller設(shè)置即可顯示文件名和行號(hào)

補(bǔ)充知識(shí):logrus 的輸出設(shè)置

O_RDONLY:只讀模式(read-only)

O_WRONLY:只寫模式(write-only)

O_RDWR:讀寫模式(read-write)

O_APPEND:追加模式(append)

O_CREATE:文件不存在就創(chuàng)建(create a new file if none exists.)

O_EXCL:與 O_CREATE 一起用,構(gòu)成一個(gè)新建文件的功能,它要求文件必須不存在(used with O_CREATE, file must not exist)

O_SYNC:同步方式打開,即不使用緩存,直接寫入硬盤 O_TRUNC:打開并清空文件

func initLogger() error {
 logrusLogLevel, err := logrus.ParseLevel(*logLevel)
 if err != nil {
 return err
 }
 now := collectors.GetTime()
 err1 := collectors.CreateDir("logs")
 if err1 != nil {
 return err1
 }
 f, err := os.OpenFile("logs/"+now, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0755)
 if err != nil {
 logrus.Fatal(err)
 }
 logrus.SetOutput(f)
 logrus.SetLevel(logrusLogLevel)
 logrus.SetReportCaller(true)
 logrus.SetFormatter(logrus.TextFormatter{TimestampFormat: "2006-01-02 15:04:05"})
 logrus.Info("init log done")
 return nil
}
 
func GetTime() string {
 return time.Now().Format("2006-01-02")
}
 
func CreateDir(string2 string) error {
 err := os.MkdirAll(string2, 0755)
 if err != nil {
 return err
 }
 return nil
}
 
func PathExists(path string) bool {
 _, err := os.Stat(path)
 if err == nil {
 return true
 }
 if os.IsExist(err) {
 return true
 }
 return false
}

以上這篇go日志系統(tǒng)logrus顯示文件和行號(hào)的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • logrus日志自定義格式操作
  • Golang logrus 日志包及日志切割的實(shí)現(xiàn)
  • golang日志框架之logrus的使用
  • logrus hook輸出日志到本地磁盤的操作

標(biāo)簽:蘭州 衡水 崇左 黃山 仙桃 湘潭 銅川 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《go日志系統(tǒng)logrus顯示文件和行號(hào)的操作》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266