欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年11月10日 10:55:31   作者:SmallQinYan  
這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號(hào)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

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)的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析Go?中的?rune?類型

    解析Go?中的?rune?類型

    rune類型是?Go?語(yǔ)言的一種特殊數(shù)字類型,Go?語(yǔ)言通過rune處理中文,支持國(guó)際化多語(yǔ)言,本文給大家介紹Go?中的?rune?類型,感興趣的朋友一起看看吧
    2022-03-03
  • 一文帶你了解如何正確理解和使用Golang中nil

    一文帶你了解如何正確理解和使用Golang中nil

    在?Golang?中,nil?是一個(gè)預(yù)定義的標(biāo)識(shí)符,在不同的上下文環(huán)境中有不同的含義,但通常表示“無(wú)”、“空”或“零值”,本文主要來(lái)帶大家了解下nil的正確使用,需要的可以參考下
    2023-12-12
  • Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解

    Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解

    這篇文章主要為大家介紹了Go 數(shù)據(jù)結(jié)構(gòu)之堆排序示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go語(yǔ)言實(shí)現(xiàn)讀取文件的方式總結(jié)

    Go語(yǔ)言實(shí)現(xiàn)讀取文件的方式總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言實(shí)現(xiàn)讀取文件的幾個(gè)方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,感興趣的小伙伴可以收藏一下
    2023-04-04
  • mayfly-go部署和使用詳解

    mayfly-go部署和使用詳解

    這篇文章主要介紹了mayfly-go部署和使用詳解,此處部署基于CentOS7.4部署,結(jié)合實(shí)例代碼圖文給大家講解的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 詳解Go?中的時(shí)間處理

    詳解Go?中的時(shí)間處理

    這篇文章主要介紹了Go?中的時(shí)間處理,本文將介紹?time?庫(kù)中一些重要的函數(shù)和方法,希望能幫助到那些一遇到?Go?時(shí)間處理問題就需要百度的童鞋,需要的朋友可以參考下
    2022-07-07
  • Go語(yǔ)言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì))

    Go語(yǔ)言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì))

    這篇文章主要介紹了Go語(yǔ)言遍歷map實(shí)現(xiàn)(訪問map中的每一個(gè)鍵值對(duì)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 淺談Go1.18中的泛型編程

    淺談Go1.18中的泛型編程

    本文主要介紹了Go1.18中的泛型編程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Go語(yǔ)言如何并發(fā)超時(shí)處理詳解

    Go語(yǔ)言如何并發(fā)超時(shí)處理詳解

    大家都知道golang并沒有在語(yǔ)言層次上提供超時(shí)操作,但可以通過一些小技巧實(shí)現(xiàn)超時(shí)。下面來(lái)一起看看吧,有需要的朋友們可以參考借鑒。
    2016-09-09
  • Go語(yǔ)言中錯(cuò)誤處理的方式總結(jié)

    Go語(yǔ)言中錯(cuò)誤處理的方式總結(jié)

    這篇文章會(huì)結(jié)合?errors?中的函數(shù),來(lái)討論一下?Go?中常見的?error?使用方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以了解一下
    2023-07-07

最新評(píng)論