我有一个正在编写的程序,我想为其编写一个自定义日志记录工具(例如诊断、通知、警告、错误)。
我应该使用stdout
还是stderr
流来做到这一点?它是一种解释器,用户可以要求它打印输出。
编辑:请停止向我推荐日志框架:(
我有一个正在编写的程序,我想为其编写一个自定义日志记录工具(例如诊断、通知、警告、错误)。
我应该使用stdout
还是stderr
流来做到这一点?它是一种解释器,用户可以要求它打印输出。
编辑:请停止向我推荐日志框架:(
常规输出(运行程序的实际结果)应该继续stdout
,就像你提到的(例如诊断、通知、警告、错误)一样stderr
。
如果没有“常规输出”,我会说你选择哪一个并不重要。您可能会争辩说日志记录是唯一的输出,因此应该转到stdout
. 或者你可以争辩说它仍然是“异常信息”应该去stderr
。
你写别的东西stdout
吗?如果答案是Yes
这样,那么某人将很难区分正常流程和用于重定向的文件中间的错误stdout
。
如果stdout
将用作另一个程序的输入怎么办?它能够解析这个调试信息吗?在这种情况下,最好只将严重错误写入stderr
. 如果您需要编写其他内容,您可以考虑写入其他日志文件。