我正在开发一个带有自开发包的Go应用程序,我决定使用zerolog进行记录。在 init 文件中,我初始化了一个零日志记录器,以将日志保存到多个输出中,但是如何将该设置用于所有开发的软件包中?是否有一些最佳实践?是否可以在不每次都将记录器传递给包的情况下使用该设置?
1 回答
呼唤远方
TA贡献1856条经验 获得超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 关注
- 101 浏览
添加回答
举报
0/150
提交
取消