beego自帶的log包雖然功能比較完善,但是在日誌中會帶上日誌級別的時間戳,而且這個時間戳還刪除不了。
因為專案需要,所以研究了下golang中其他的日誌包,發現seelog正好能滿足俺們專案的需要,因此在這做簡單介紹。
seelog功能強大,在此簡單介紹將日誌配置儲存在xml檔案中,並從檔案中獲取配置,然後使用的流程。
在controllers包的某個檔案中:
mainlog, _ = seelog.loggerfromconfigasfile("conf/seelog-main.xml")
loggerfromconfigasfile會從後面的檔案中獲取日誌配置,如上則是從conf包的seelog-main.xml檔案中獲取配置;
seelog-main.xml檔案內容如下:
其中:
outputs裡面是日誌的配置,formats裡面是日誌輸出格式配置。
formatid對應下面的formats裡對應id的輸出格式。
buffered指的是緩衝設定:
size--緩衝區大小,單位byte;flushperiod--緩衝間隔,單位ms
rollingfile裡面是日誌的設定:
type--回滾的方式,date指按日期回滾,size指按大小回滾
filename--檔案路徑
datepattern--日期的格式,按日期回滾時才會有此選項
maxrolls--日誌儲存的最大期限,此處會儲存30天以內的日誌
format裡面:
id--對應的outputs的formatid
format--日誌輸出的格式,%msg%n表示只會輸出日誌並換行
使用的時候,如下:
defer mainlog.flush()
mainlog.info("需要輸入的日誌")
即可。以後會完善seelog的用法 golang 日誌庫seelog 筆記
之前做服務的時候一直在用seelog作為日誌輸出的庫,用了一段時間發現還是挺好用的,最近有時間就來總結一下。我這邊用到的seelog一般都是將程式中的一些資訊輸入到日誌檔案中,方便除錯和維護程式。日誌中輸出的基本資訊有時間,日誌等級,行數,方法名等等。輸出日誌的格式是通過xml配置檔案完成的,這樣日...
Golang的日誌處理
整個看了一圈下來,感覺golang的日誌包在管理多執行緒安全的情況下,提供了最小粒度的工具。並沒有提供什麼複雜的過濾器之類的生成。實現了乙個demo來記錄一下日誌分類日誌列印等實現 package main import log os io ioutil io var trace log.logge...
Golang學習日誌
變數賦值 golang中所有的變數都是值賦值,那麼陣列 chan map等,需要make的物件是怎麼操作的?自測發現 這些需要make的物件是引用賦值,也就是說新變數和舊變數操作的是同乙個記憶體空間。但是我們自己定義的struct都會把裡面的成員乙個乙個的複製過去。如果我們struct裡有陣列 ch...