1. ホーム
  2. logging

メッセージは標準エラー出力と標準出力、どちらに記録すべきですか?

2023-11-18 13:27:43

質問

私は、カスタムロギング機能(例:診断、通知、警告、エラー)を書きたい、書いているプログラムがあります。

を使うべきでしょうか。 stdout を使うべきか stderr のストリームでこれを行うのでしょうか?これは一種のインタプリタであり、ユーザはこれに出力を依頼することができます。

編集してください。 ロギングフレームワークを薦めるのはやめてください :(

どのように解決するのですか?

通常の出力(実際にプログラムを実行した結果)は、次のようになります。 stdout に、あなたが言ったようなこと (例えば診断、通知、警告、エラー) は stderr .

もし "通常の出力" がないのであれば、どれを選んでも構わないと言えるでしょう。ロギングが唯一の出力であると主張することもできますので、その場合は stdout . あるいは、それはまだ例外的な情報であると主張することもでき、その場合は stderr .