猿问

在整个应用程序中使用相同的零日志设置

我正在开发一个带有自开发包的Go应用程序,我决定使用zerolog进行记录。在 init 文件中,我初始化了一个零日志记录器,以将日志保存到多个输出中,但是如何将该设置用于所有开发的软件包中?是否有一些最佳实践?是否可以在不每次都将记录器传递给包的情况下使用该设置?


慕勒3428872
浏览 102回答 1
1回答

呼唤远方

在名为 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!") }
随时随地看视频慕课网APP

相关分类

Go
我要回答