登录
首页 >  Golang >  Go问答

测试 Golang 日志输出功能

来源:stackoverflow

时间:2024-03-15 08:09:22 202浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《测试 Golang 日志输出功能》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

嗨,我想检查 log.error() 的输出是否有效,我这里有以下代码

func logError(param bool)
bool {
    if (param == true)
        log.Error(fmt.Sprintf("I need to somehow tst, that the output here is correct"))

    return param;
}

我不允许修改我现有的代码,我只是想确保控制台通过我的 logerror 函数打印的内容都是我所期望的。

这是否可以在不修改我现有代码的情况下实现,谢谢。


正确答案


使用 logrus,您可以在测试中捕获记录器的输出:

oldOut:=log.StandardLogger().Out // Save current log target
buf:=bytes.Buffer{}
log.SetOutput(&buf)
logError(true)
// Here, buf.String() should give you the log msg
log.SetOutput(oldOut) // Restore log target

理论要掌握,实操不能落!以上关于《测试 Golang 日志输出功能》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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