• 为什么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

  • 相关阅读:
    LOJ#551 Matrix
    洛谷P5163 WD与地图
    洛谷P4831 Scarlet loves WenHuaKe
    LOJ#6118 鬼牌
    支配树
    线性插值
    PropertiesConfiguration
    ThreadLocal
    Thread
    FastJson
  • 原文地址:https://www.cnblogs.com/rsapaper/p/14177812.html
Copyright © 2020-2023  润新知