Golang-创建自定义记录仪,以在应用程序上共享文件和软件包



在我的程序中,我应该在很多地方创建logs,例如以下

log.Println("[Build]: bla bla“)
log.Println(“[INFO]: bla bla“)
log.Printf(“[ERROR]: bla bla“)
log.Println(“[WARNING]: bla bla“)

我将其用于所有在应用程序内的不同软件包中的登录复制这一点令人沮丧,有没有一种方法来创建一些通用我可以简单地将其重新使用的日志。

我阅读了有关logrus等也许我想念什么。

我的程序是命令行工具

最好使用更合适的记录器(例如zap或logrus(。还希望明确地将记录器作为参数传递,并避免全局记录器。

但是,如果需要带有内置的确切记录工作流,则可以使用提供的示例输出,可以使用适当的前缀定义它们,而不是重复每个字符串中的级别:

var (
    warnlog  = log.New(os.Stderr, "[ warn  ]", log.Ltime|log.Lshortfile)
    infolog  = log.New(os.Stderr, "[ info  ]", log.Ltime|log.Lshortfile)
    buildlog = log.New(os.Stderr, "[ build ]", log.Ltime|log.Lshortfile)
    errlog   = log.New(os.Stderr, "[ error ]", log.Ltime|log.Lshortfile)
)

相关内容

最新更新