为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕勒3428872 2022-08-30 21:48:09
我正在开发一个带有自开发包的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!")

 }


查看完整回答
反对 回复 2022-08-30
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信