2

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

1 Answer 1

6

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)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.