dongxieting9623 2015-12-15 16:16
浏览 114
已采纳

如何将fmt.Print和log.Print保存到Golang中的相同文件中

In shell, I use go run file > output, but only fmt.Print are saved into output. All the log.Print still output to the screen! And after I searched on the Internet, I found I can set ouput directory for log, but how can I save both log and fmt in the same file?

  • 写回答

1条回答 默认 最新

  • duange2971 2015-12-15 16:29
    关注

    The logger writes to STDERR while fmt.PrintXXX functions write to STDOUT.

    You have two choices:

    1) Capture STDERR to the file.
    Bash like shells use:

    go run file > output 2>&1
    

    2) Set the logger's Output to os.Stdout

    Then you run like normal go run file > output and both the logger and fmt go to the same place.

    log.SetOutput(os.StdOut)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?