3
2

初心者向けPythonのドキュメントやログ処理について気をつけたいこれだけのこと

Last updated at Posted at 2024-08-04

Pythonにはログの取り方がいろいろ用意されてます!

こんにちは、Pythonプログラマーの皆さん!今日は、Pythonでログ機能を実装する方法について、楽しく学んでいきましょう。ログは開発中のデバッグや、本番環境での問題解決に欠かせない重要なツールです。さあ、一緒にPythonのログの世界を探検しましょう!

ログの基本

Pythonには標準ライブラリにloggingモジュールが用意されています。これを使えば、簡単にログ機能を実装できます。

import logging

# ログの基本設定
logging.basicConfig(level=logging.INFO)

# ログの出力
logging.info("こんにちは、ログの世界へようこそ!")

このコードを実行すると、次のような出力が得られます:

INFO:root:こんにちは、ログの世界へようこそ!

ログレベルの活用

ログには異なるレベルがあります。主なものは以下の通りです:

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

これらを使い分けることで、ログの重要度を表現できます。

import logging

logging.basicConfig(level=logging.DEBUG)

logging.debug("デバッグ情報です")
logging.info("通常の情報です")
logging.warning("警告です!")
logging.error("エラーが発生しました")
logging.critical("致命的なエラーです!")

ログのフォーマットカスタマイズ

ログの出力形式は自由にカスタマイズできます。日時や行番号など、必要な情報を追加しましょう。

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S'
)

logging.info("カスタマイズされたログです")

出力例:

2024-08-04 12:34:56 - INFO - カスタマイズされたログです

ファイルへのログ出力

コンソールだけでなく、ファイルにもログを出力できます。

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S',
    filename='app.log',
    filemode='w'
)

logging.info("このログはファイルに保存されます")

このコードを実行すると、app.logというファイルが作成され、そこにログが書き込まれます。

複数のハンドラの使用

コンソールとファイルの両方にログを出力したい場合は、複数のハンドラを使用します。

import logging

# ルートロガーの作成
logger = logging.getLogger()
logger.setLevel(logging.INFO)

# ファイルハンドラの作成
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.INFO)

# コンソールハンドラの作成
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)

# フォーマッタの作成
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)

# ハンドラをロガーに追加
logger.addHandler(file_handler)
logger.addHandler(console_handler)

# ログの出力
logger.info("このログはファイルとコンソールの両方に出力されます")

まとめ

Pythonのログ機能を使いこなすことで、アプリケーションの動作を詳細に把握し、問題解決を迅速に行うことができます。ぜひ、自分のプロジェクトにログ機能を取り入れて、デバッグ作業を効率化してみてください。

ログ機能の実装は、プロフェッショナルなPythonプログラマーへの第一歩です。これからも、Pythonの素晴らしい機能を探求し続けましょう!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2