登录
首页 >  Golang >  Go问答

设定 glog 包中的日志记录水平

来源:stackoverflow

时间:2024-03-06 23:48:25 239浏览 收藏

大家好,我们又见面了啊~本文《设定 glog 包中的日志记录水平》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

如何将 golang glog 包的日志记录级别设置为 error。

示例.go:

package main

import (
    "github.com/golang/glog"
    "flag"
)

func main() {
    flag.parse()
    glog.info("info level")
    glog.error("error level")
    glog.flush()
}
$ go run example.go -logtostderr=true -stderrthreshold=ERROR
I1214 15:46:00.743002   13429 example.go:10] Info level
E1214 15:46:00.743211   13429 example.go:11] Error level

在上面的示例中,我已将 stderrthreshold 标志设置为 error,但仍然收到 info 级别日志。我只想要错误级别的日志。


解决方案


默认情况下,glog 会写入

  • 将所有日志消息记录到日志文件(默认情况下,它们在 /tmp 中创建);
  • 将严重性为 stderrthreshold 或更高的消息记录到 stderr。

通过使用 -logtostderr=true 标志,此行为已更改:

日志写入标准错误而不是文件。

  • 没有日志消息写入日志文件;
  • 所有日志消息都会写入 stderr。

当使用 -logtostderr=true 时,stderrthreshold 可能没有效果。在您的调用中它无论如何都没有效果,因为默认阈值已经是 ERROR

总而言之,通过仅运行 go run example.go 而不使用任何命令行参数,只有严重性为 ERROR 或以上的日志消息才会根据您的需要写入 stderr。

好了,本文到此结束,带大家了解了《设定 glog 包中的日志记录水平》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>