\

Pythonでは、エラーハンドリングとログ出力は非常に重要な部分を占めています。特に、loggingモジュールを使用することで、エラーやステータス情報を効果的にログ出力することが可能です。

loggingモジュールの基本

Pythonのloggingモジュールには、ログを出すためのいくつかの方法があります。それらは以下の通りです。

logging.debug()
logging.info()
logging.warning()
logging.error()
logging.critical()

これらの違いはログレベル(log level)によるもので、緊急度などに応じて設定しておけば、「開発時は debug も含めて出力」「本番では warn 以上(または info 以上)」のように出力するレベルを変更できます。

logging.exceptionの使用

logging.exception()は、例外処理時にexcept:の中で利用することを想定しています。しかし、実装するときに勘違いしている例をよく見かけます。

以下に、その一例を示します。

try:
    int("aaa")
except Exception as e:
    logging.exception(e)

このコードを実行すると、エラーメッセージが2回重複して出力されます。これは、logging.exception()が自動的に例外情報を取得し、ログメッセージに追加するためです。

そのため、以下のように書くことを推奨します。

try:
    int("aaa")
except:
    logging.exception("What is doing when exception happens.")

このように書くことで、例外だけを出力するのではなく、開発者が理解しやすいメッセージを付与することができます。

まとめ

Pythonのloggingモジュールを使用することで、エラーハンドリングとログ出力を効果的に行うことができます。特に、logging.exception()を適切に使用することで、開発者が理解しやすいエラーメッセージを出力することが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です