相关 Does Python logging write to stdout or stderr by default?但我想知道为什么它默认为 stderr
相反 什么 是默认值。
对我来说,为什么 stderr
并不是很明显是默认值。我注意到运行 python script.py | tee out.log
时出了点问题并以空的日志文件结束。现在我知道它可以通过 python script.py 2>&1 | tee out.log
解决或使用 stream
范围:
logging.basicConfig(stream=sys.stdout)
在那次事件之后,我认为更改默认值是合理的
stream
至 stdout
在每个脚本中,以避免再次感到惊讶。这是一个好习惯吗?我会错过什么吗?
最佳答案
您可能不想将默认值更改为 stdout。
原因是 stderr 是所有消息的输出,这些消息只是一些内部和/或调试程序信息,如日志和错误,而不是实际输出,程序的结果。
关于python - 为什么 Python 日志记录默认写入 stderr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58971197/