如何抑制日志

如果我在Go语言中有这样的代码:

package main

import "fmt"
import "log"

func main() {
    fmt.Println("hello world")
    log.Println("log hello world")
}

是否可以在不更改源代码的情况下运行该程序来抑制日志输出,并从命令行传递标志或env变量,例如QUIET=1 go run hello

tldtc007 回答:如何抑制日志

您可以让外壳程序使用go run hello 2>/dev/null丢弃输出(如注释中提到的@TimCooper),或者可以通过调用log来覆盖log.SetOutput()包的输出,然后传递io.Writer的实现,该实现将放弃输入(或将其写入所需的任何内容)。

本文链接:https://www.f2er.com/3089921.html

大家都在问