カテゴリ: Python 更新日: 2026/03/12

Pythonのloggingモジュールでエラーをログに記録する方法を完全解説!初心者でもわかる例外処理入門

Pythonのloggingモジュールを使ってエラーをログに記録する方法
Pythonのloggingモジュールを使ってエラーをログに記録する方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonでエラーが起きたとき、あとから内容を確認する方法はありますか?」

先生

「あります。Pythonではloggingモジュールを使うと、エラーの内容をファイルなどに記録できます。」

生徒

「printで表示するのとは何が違うんですか?」

先生

「loggingを使うと、エラーの種類や時間を整理して残せるので、後から原因を調べやすくなります。」

1. loggingモジュールとは?

1. loggingモジュールとは?
1. loggingモジュールとは?

loggingモジュールとは、Pythonでログを記録するための標準機能です。ログとは、プログラムの動作の記録メモのようなもので、エラーが起きた時間や内容を書き残す役割があります。

紙のノートに「何時に何が起きたか」を書くイメージをすると分かりやすいです。print文はその場で画面に表示するだけですが、loggingは後から見返せる形で保存できます。

2. loggingを使うメリット

2. loggingを使うメリット
2. loggingを使うメリット

Pythonでloggingを使う最大のメリットは、エラー調査がとても楽になる点です。特にプログラムが長くなったり、毎日自動で動く処理では、画面に表示されないエラーも多くあります。

loggingを使えば、「いつ」「どこで」「どんなエラーが起きたか」を記録できるため、原因を落ち着いて確認できます。初心者の方ほど、ログを残す習慣をつけると安心です。

3. loggingの基本的な使い方

3. loggingの基本的な使い方
3. loggingの基本的な使い方

まずは、loggingモジュールを使った一番シンプルな例を見てみましょう。ここではエラー内容を画面に表示します。


import logging

logging.basicConfig(level=logging.ERROR)

try:
    x = 10 / 0
except Exception as e:
    logging.error("エラーが発生しました")

この例では、0で割る計算をしてエラーを発生させています。logging.errorは「これはエラーです」という記録を残すための命令です。

4. ログのレベルを理解しよう

4. ログのレベルを理解しよう
4. ログのレベルを理解しよう

loggingにはログレベルという考え方があります。これは「どれくらい重要な情報か」を表します。

  • DEBUG:細かい動作確認用
  • INFO:通常の動作報告
  • WARNING:注意が必要な状態
  • ERROR:エラー発生
  • CRITICAL:致命的な問題

初心者の方は、まずERRORを使えれば十分です。慣れてきたらINFOやDEBUGも使ってみましょう。

5. エラーメッセージを一緒に記録する

5. エラーメッセージを一緒に記録する
5. エラーメッセージを一緒に記録する

エラー内容をより詳しく知りたい場合は、例外オブジェクトの情報も一緒にログに残します。


import logging

logging.basicConfig(level=logging.ERROR)

try:
    int("abc")
except Exception as e:
    logging.error(f"エラー内容: {e}")

これで、「何が原因で失敗したのか」がはっきり分かるログが残ります。エラー文をそのまま記録できるのでとても便利です。

6. ログをファイルに保存する方法

6. ログをファイルに保存する方法
6. ログをファイルに保存する方法

次は、ログをファイルに保存する方法です。ファイルに残せば、あとから何度でも確認できます。


import logging

logging.basicConfig(
    filename="error.log",
    level=logging.ERROR
)

try:
    open("no_file.txt")
except Exception as e:
    logging.error(f"ファイルエラー: {e}")

この例では、error.logというファイルにエラー内容が書き込まれます。メモ帳で開けば中身を確認できます。

7. loggingとprintの使い分け

7. loggingとprintの使い分け
7. loggingとprintの使い分け

初心者のうちはprintで確認することも多いですが、本番に近いプログラムではloggingが向いています。

printは一時的な確認、loggingは記録として残すもの、と覚えると混乱しません。エラー対応をきちんとしたい場合はloggingを使うのが基本です。

8. 例外処理とloggingを組み合わせる理由

8. 例外処理とloggingを組み合わせる理由
8. 例外処理とloggingを組み合わせる理由

Pythonの例外処理とloggingを組み合わせることで、「エラーで止まらない」「原因はきちんと残る」プログラムが作れます。

これは現場でもよく使われる考え方で、初心者のうちから身につけておくと安心です。エラーは怖いものではなく、記録して直せば良いものだと考えましょう。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonの定数を定義する方法!慣習とモジュールを活用した書き方
New2
Python
Pythonのカプセル化とは?private変数とプロパティの活用方法をやさしく解説
New3
Python
Pythonの継承とは?親クラス・子クラスの関係とメソッドオーバーライドをやさしく解説
New4
Python
Pythonのインスタンス変数とクラス変数の違い!selfの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.5
Java&Spring記事人気No5
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド
No.8
Java&Spring記事人気No8
Python
Pythonでエラーメッセージを取得する方法を完全解説!初心者でもわかるExceptionオブジェクト