2016-07-05 131 views
3

有沒有一種方法去語言登錄到不同級別的多個輸出?去日誌記錄到多個輸出

我想要一個程序,它可以同時記錄到信息級別的stdout和具有時間戳的調試級別的文件。

就像我每次代碼:

log.Debug("Entering some func") 
res := func() 
log.Infof("Result was: %s", res) 

我可以看到控制檯打印:

Result was: Successful 

並配有文件:

2015-03-26T01:27:38-04:00 [DEBU]: Entering some func 
2015-03-26T01:27:38-04:00 [INFO]: Result was: Successful 

我用logrus和考勤記錄,但找不到這個功能。有另一個包或我可以編碼的東西嗎?

回答

4

Go-logging支持不同的日誌記錄後端,如文件,系統日誌等。可以爲每個後端和記錄器設置不同的日誌級別的多個後端。 通過here的示例。

Lumberjack也可以用於將日誌寫入滾動文件。這是一個example

1

如果使用go-logging庫,您可以設置兩個「後端」,它們將寫入標準輸出和文件。

我想在這裏複製一些代碼,但維基上的例子完全是你想要的。

相關問題