52 logging error-logging stream
我有一个我写的程序,我想编写一个自定义日志记录工具(例如诊断,通知,警告,错误).
我应该使用stdout或stderr流来执行此操作吗?它是各种解释器,用户可以要求它打印输出.
编辑:请停止推荐我记录框架:(
Jak*_*kob 41
常规输出(运行程序的实际结果)应该继续stdout,就像你提到的那样(例如诊断,通知,警告,错误)stderr.
如果没有"常规输出",我会说你选择哪一个并不重要.您可能会认为日志记录是唯一的输出,所以应该去stdout.或者你可以说它仍然是"特殊信息"应该去的stderr.
And*_*nov 12
你还写别的stdout吗?如果答案是,Yes那么有人可能很难区分正常流和用于重定向的文件中间的错误stdout.
如果stdout将用作另一个程序的输入怎么办?它能够解析这个调试信息吗?在这种情况下,最好只写出关键错误stderr.如果您需要编写其他内容,可以考虑写入其他日志文件.
标准输出是程序的“输出”或“结果”。(这就是为什么 shell 管道适用于 stdout。)
Stderr 是程序的“日志记录”或“诊断”。(这就是为什么 stderr 通常是无缓冲的。)
听起来这些消息应该是后者。
| 归档时间: |
|
| 查看次数: |
8228 次 |
| 最近记录: |