1. ホーム
  2. python

[解決済み] Pythonで、なぜprintの代わりにloggingを使うのですか?

2022-07-24 08:35:06

質問

複雑なプロジェクトでの単純なデバッグのために、printの代わりにpython loggerを使用する理由はありますか? 他のユースケースについてはどうですか? それぞれのために受け入れられた最良のユースケースはありますか(特に、あなたが標準出力だけを探しているとき)?

私はいつもこれが"ベストプラクティス"であると聞いていますが、私はなぜそれを理解することができませんでした。

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

loggingパッケージは便利な機能をたくさん持っています。

  • いつ、どこで(何行目かも)ロギングが呼び出されたかを簡単に確認できます。
  • ファイル、ソケット、ほとんどあらゆるものに同時にログを記録することができます。
  • 重大性に基づいてログを区別することができます。

Printにはありません。

また、あなたのプロジェクトが他の Python ツールによってインポートされることを意図している場合、あなたのパッケージが標準出力にものを印刷するのは悪い習慣です。 ロギングでは、パッケージのユーザーは、あなたのツールからロギングメッセージを伝播させたいかどうかを選択することができます。