如何在Go库中实现惯用日志记录?

利亚姆贝德

在Go中执行登录的惯用方式是什么?

利亚姆贝德

创建一个声明全局变量logger的文件然后,使用Go的惯用init()函数在启动时初始化变量。

logger.go

package xxx

import (
    "log"
    "os"
)

var logger *log.Logger
func init() {
    logger = log.New(os.Stderr, "xxx: ", log.Ldate | log.Ltime | log.Lshortfile)
}

example.go

func test() {
    logger.Println("Logged")
}

此方法的好处是您可以使用可以从单个文件配置的单个记录器实现。

编辑: ThomasKappler指出,如果仅使用单个全局记录器,则可以使用日志包的内置记录器,并使用SetFlags对其进行配置。唯一的区别是您必须更加明确并导入日志包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档