11

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

4

1 回答 1

11

创建一个声明全局变量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)
}

例子.go

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

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

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

于 2012-11-21T10:18:44.940 回答