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



我想打印一些日志进行调试和测试,但现有的日志很大,所以我想将自己的日志打印到 stderr:

go run main.go 1>/dev/null

这样我就可以查看自己的日志。

我该怎么做?

有多种

方法可以向stderr发送消息:

  1. 创建新log.Logger

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

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

    os.Stderr.WriteString("log message")
    

默认情况下,log包打印到 os.Stderr

您也可以直接使用os.Stderr(这是一个os.File)。

在 Linux 系统上, 你也可以使用 syslog(3) 工具。缺省情况下, 底层的 openlog(3) 不会转到 stderr, 但可以更改。

请参阅 Go 软件包日志/系统日志。

最新更新