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

时间:2022-06-05 01:44:59

I want to print some logs for debugging and testing, but previous logs are massive, So I should print my own logs to stderr:

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

go run main.go 1>/dev/null

So that I can just see my own logs.

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

What should I do?

我该怎么办?

Thank you

2 个解决方案

#1


9  

The log package by default prints to os.Stderr.

默认情况下,日志包打印到os.Stderr。

You can also use os.Stderr directly (it's an os.File).

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

#2


5  

There are multiple methods to send a message to stderr:

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

  1. Creating a new log.Logger:

    创建一个新的log.Logger:

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

    fmt.Fprintf(os.Stderr, "log message: %s", str)
    
  3. 使用fmt.Fprintf:fmt.Fprintf(os.Stderr,“log message:%s”,str)

  4. Directly writing to os.Stderr using os.Stderr.WriteString:

    使用os.Stderr.WriteString直接写入os.Stderr:

    os.Stderr.WriteString("log message")
    

#1


9  

The log package by default prints to os.Stderr.

默认情况下,日志包打印到os.Stderr。

You can also use os.Stderr directly (it's an os.File).

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

#2


5  

There are multiple methods to send a message to stderr:

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

  1. Creating a new log.Logger:

    创建一个新的log.Logger:

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

    fmt.Fprintf(os.Stderr, "log message: %s", str)
    
  3. 使用fmt.Fprintf:fmt.Fprintf(os.Stderr,“log message:%s”,str)

  4. Directly writing to os.Stderr using os.Stderr.WriteString:

    使用os.Stderr.WriteString直接写入os.Stderr:

    os.Stderr.WriteString("log message")