如何在Go中将消息打印到stderr?

kai*_*521 12 linux go

我想打印一些日志用于调试和测试,但以前的日志很大,所以我应该将自己的日志打印到stderr:

go run main.go 1>/dev/null
Run Code Online (Sandbox Code Playgroud)

这样我就可以看到自己的日志了.

我该怎么办?

谢谢

Nik*_*ath 18

有多种方法可以将消息发送到stderr:

  1. 创建一个新的log.Logger:

    l := log.New(os.Stderr, "", 1)
    l.Println("log message")
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用fmt.Fprintf:

    fmt.Fprintf(os.Stderr, "log message: %s", str)
    
    Run Code Online (Sandbox Code Playgroud)
  3. 直接写入os.Stderr使用os.Stderr.WriteString:

    os.Stderr.WriteString("log message")
    
    Run Code Online (Sandbox Code Playgroud)


One*_*One 13

log包通过默认版画os.Stderr.

你也可以os.Stderr直接使用(它是一个os.File).

  • 只是为了显示一些代码:`log.Println("Failed.")`将打印到stderr. (6认同)