为什么Go自带的日志默认输出到os.Stderr?

 

为什么Go自带的日志默认输出到os.Stderr? - 知乎 https://www.zhihu.com/question/67629357

 Note that the Go runtime writes to standard error for panics and crashes; closing Stderr may cause those messages to go elsewhere, perhaps to a file opened later.

os - The Go Programming Language https://golang.org/pkg/os/

Variables

Portable analogs of some common system call errors.

Errors returned from this package may be tested against these errors with errors.Is.

var (
    // ErrInvalid indicates an invalid argument.
    // Methods on File will return this error when the receiver is nil.
    ErrInvalid = errInvalid() // "invalid argument"

    ErrPermission       = errPermission()       // "permission denied"
    ErrExist            = errExist()            // "file already exists"
    ErrNotExist         = errNotExist()         // "file does not exist"
    ErrClosed           = errClosed()           // "file already closed"
    ErrNoDeadline       = errNoDeadline()       // "file type does not support deadline"
    ErrDeadlineExceeded = errDeadlineExceeded() // "i/o timeout"
)

Stdin, Stdout, and Stderr are open Files pointing to the standard input, standard output, and standard error file descriptors.

Note that the Go runtime writes to standard error for panics and crashes; closing Stderr may cause those messages to go elsewhere, perhaps to a file opened later.

var (
    Stdin  = NewFile(uintptr(syscall.Stdin), "/dev/stdin")
    Stdout = NewFile(uintptr(syscall.Stdout), "/dev/stdout")
    Stderr = NewFile(uintptr(syscall.Stderr), "/dev/stderr")
)

Args hold the command-line arguments, starting with the program name.

var Args []string

proposal: os: Stdin, Stdout and Stderr should be interfaces · Issue #13473 · golang/go https://github.com/golang/go/issues/13473

Replacing os.Stdout/os.Stderr should redirect panic · Issue #325 · golang/go https://github.com/golang/go/issues/325

 

 

 

Capture os.Stdout and/or os.Stderr in Go

go-capturer/main.go at master · zenizh/go-capturer https://github.com/zenizh/go-capturer/blob/master/main.go

 

posted @ 2020-12-23 11:53  papering  阅读(495)  评论(0编辑  收藏  举报