我正在try 将我的信息和错误日志(log)记录到我的项目的log/dir目录中,而不是将其写入stderr.我try 了这里给出的解决方案:How do I set the log directory of glog from code,但这不是在我的目录中创建日志(log)文件.....

这是我的代码

func init() {
    myDir, _ := os.Getwd()
    flag.Set("logtostderr", "true")
    flag.Set("log_dir", myDir+"/log/dir")
    flag.Parse()
        //Some other stuff
}

推荐答案

我认为您正在try 为GLOG包设置日志(log)目录. 因此,我的答案将基于这一概述. 从您的代码看,您似乎正在将logtostderr标志设置为"true",这意味着日志(log)将被写入标准错误输出(Stderr),而不是文件.如果您想要将日志(log)写入文件,则应将此标志设置为"False".

另外,确保您指定的目录(myDir+"/log/dir")确实存在.如果该目录不存在,您可能需要在运行代码之前创建它.

以下是设置日志(log)目录并禁止将日志(log)写入stderr的代码的更新版本:

Go相关问答推荐

重新赋值变量时未清除动态类型-这是错误吗?

将这两个函数合二为一的惯用方法

在 go 中,将接收器 struct 从值更改为指针是否向后兼容?

Go Template 动态获取变量

将字符串格式的x509证书生成主题名称

是否可以在 hyperledger-chaincode 中使用 gRPC?如果可以,我如何避免在测试网络上调用时出错?

Golang - POST 失败(NoSurf CSRF)

当图像是对象数组的元素时,如何显示存储为页面资源的图像?

Go 信号处理程序不处理终端窗口关闭

Go:从 ssl 证书中获取 'subject/unstructeredName' 的值

Golang - 将 [8] 布尔转换为字节

使用 Golang SQL 驱动程序连接到snowflake

合并几千万文件最快的方法是什么

如何在 Windows 上使用 cgo 为 386 arch 构建 lib?

将 Simple Go Web 应用程序部署到 Elastic Beanstalk

gqlgen go,通过添加一个解析器来减少数据库调用

函数的递归调用以 goroutine 和惯用方式开始,以在所有工作 goroutine 完成时继续调用者

如何解决在mac m1中运行gcc失败退出状态1?

如何访问Go 1.18泛型 struct (structs)中的共享字段

如何访问 Go 模板中数组的第一个索引的值