在我的程序中有很多地方我应该创建如下的日志
log.Println("[Build]: bla bla“)
log.Println(“[INFO]: bla bla“)
log.Printf(“[ERROR]: bla bla“)
log.Println(“[WARNING]: bla bla“)
我将它用于我在应用程序内部的不同包中的所有日志记录 复制这个有点令人沮丧,有没有办法创建一些通用的 我可以在程序中简单地重复使用日志。
我读到了关于logrus等但是它们提供了一些方法来做但不提供一些自定义方式或 也许我想念一些东西。
我的程序是命令行工具
答案 0 :(得分:0)
最好使用更合适的记录器,例如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)
)