我正在開發(fā)一個帶有自開發(fā)包的Go應(yīng)用程序,我決定使用zerolog進行記錄。在 init 文件中,我初始化了一個零日志記錄器,以將日志保存到多個輸出中,但是如何將該設(shè)置用于所有開發(fā)的軟件包中?是否有一些最佳實踐?是否可以在不每次都將記錄器傳遞給包的情況下使用該設(shè)置?
1 回答

呼喚遠(yuǎn)方
TA貢獻1856條經(jīng)驗 獲得超11個贊
在名為 or 的其他包中聲明,并在所有包中使用引用它的記錄器Loggerlogger
package logger
import (
"github.com/rs/zerolog"
"os"
)
var Logger zerolog.Logger
func InitLog() {
consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout}
multi := zerolog.MultiLevelWriter(consoleWriter, os.Stdout)
Logger = zerolog.New(multi).With().Timestamp().Logger()
}
在記錄器包中聲明。在啟動項目時初始化記錄器,并按如下所示使用它。Logger
package main
import "myapp/logger"
func main() {
logger.InitLog()
logger.Logger.Info().Msg("Hello, Main!")
}
- 1 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報
0/150
提交
取消