Golang的日誌處理

2022-02-01 10:19:11 字數 1010 閱讀 7086

整個看了一圈下來,感覺golang的日誌包在管理多執行緒安全的情況下,提供了最小粒度的工具。並沒有提供什麼複雜的過濾器之類的生成。

實現了乙個demo來記錄一下日誌分類日誌列印等實現:

package main

import

(

"log""

os""io/ioutil""

io")var (

trace *log.logger //記錄所有日誌

info *log.logger //重要的資訊

warning *log.logger //需要注意的資訊

error *log.logger //致命錯誤

)func init()

trace = log.new(ioutil.discard, "

trace:

", log.ltime|log.lshortfile)

info = log.new(os.stdout, "

info:

", log.ltime|log.lshortfile)

warning = log.new(os.stdout, "

warning:

", log.ltime|log.lshortfile)

error = log.new(io.multiwriter(file, os.stderr), "

error

", log.ltime|log.lshortfile)

}func main()

其實給我感覺跟python沒差,還簡單很多。

首先還是申明乙個logger物件,用他來呼叫各種logger的方法,一開始初始化了幾個級別的日誌logger收集器。

隨後就是new乙個新的logger並將位址返回分配給它們。這種日誌管理的方法真給人一種很清爽的感覺,而且外面可以基於這些最基礎的東西再做二次的定製。也非常靈活。後面寫東西會嘗試多用用看。再來補這篇文章。先占個坑

to be continue...

Golang學習日誌

變數賦值 golang中所有的變數都是值賦值,那麼陣列 chan map等,需要make的物件是怎麼操作的?自測發現 這些需要make的物件是引用賦值,也就是說新變數和舊變數操作的是同乙個記憶體空間。但是我們自己定義的struct都會把裡面的成員乙個乙個的複製過去。如果我們struct裡有陣列 ch...

golang學習日誌 19 12 6

利用函式strconv.atoi 返回 乙個是轉換結果,乙個是是否轉換成功 strconv.atoi str 練習1 判斷是否是素數 package isprime import fmt func isprimenumber i int bool return flag func main if f...

Golang基礎 日誌管理

所有日誌資訊列印時都帶有時間,且顏色為紅色 每種級別日誌列印都提供了三個函式 日誌擴充套件名為log func println v inte ce log.println 列印日誌資訊 panicln is equivalent to println followed by a call to pa...