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

时间:2015-03-09 03:32:21

标签: linux go

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

go run main.go 1>/dev/null

这样我就能看到自己的日志。

我该怎么办?

谢谢

3 个答案:

答案 0 :(得分:11)

log os.Stderr打包到os.File

您也可以直接使用default(这是{{1}})。

答案 1 :(得分:9)

有多种方法可以向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")
    

答案 2 :(得分:0)

在Linux系统上,您也可以使用syslog(3)工具。默认情况下,基础openlog(3)不会进入stderr,但是可以更改。

请参阅Go软件包log/syslog