简体   繁体   English

在测试 buffalo 应用程序期间禁用信息日志

[英]Disable info logs during testing a buffalo application

I am unable to disable INFO logs during testing.我无法在测试期间禁用 INFO 日志。

Is there a way to do so?有没有办法这样做?

Thanks.谢谢。

Set the buffalo.Options.Logger.Out to ioutil.Discard , you might have to create an instance of a logger to do it:buffalo.Options.Logger.Out设置为ioutil.Discard ,您可能需要创建一个记录器实例来执行此操作:

import (
    "github.com/gobuffalo/logger"
    "ioutil"
    // etc.
)

var noopLogger logger.Logrus
noopLogger.Out = ioutil.Discard
noopLogger.SetOutput(ioutil.Discard) // can't remember which one you need to do
buffalo.Options.Logger = noopLogger

Create a new logger, if the env is set to test , in the actions/app.go file with the desired level.如果 env 设置为test ,则在具有所需级别的 actions/app.go 文件中创建一个新记录器。

app = buffalo.New(buffalo.Options{
    Env:         ENV,
    SessionName: "_gb_155_session",
})

if env := envy.Get("GO_ENV", ""); env == "test" {
    app.Logger = logger.NewLogger("ERROR")
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM