Pythonのlogging
モジュールは、ログの出力を管理するための強力なツールです。この記事では、ログの日時フォーマットを設定する方法について説明します。
loggingモジュールの基本
logging
モジュールはPythonの標準ライブラリで、ログレベルを指定したり、ログをファイルに出力したり、ログのフォーマットを指定したりすることができます。
import logging
# ログの設定
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
上記のコードは、ログレベルをDEBUGに設定し、ログのフォーマットを'%(asctime)s - %(levelname)s - %(message)s'
に設定しています。
日時フォーマットの設定
ログの日時フォーマットは、basicConfig
関数のformat
引数で指定します。日時は%(asctime)s
プレースホルダーで表され、strftime()
と同じフォーマットを指定することができます。
import logging
# ログの設定
fmt = "%(asctime)s %(levelname)s %(name)s :%(message)s"
logging.basicConfig(level=logging.DEBUG, format=fmt)
上記のコードでは、日時(%(asctime)s
)、ログレベル(%(levelname)s
)、ロガーの名前(%(name)s
)、そしてログのメッセージ(%(message)s
)をログのフォーマットとして設定しています。
ログファイル名に日付を含める
ログをファイルに出力する場合、ファイル名に日付を含めることがよくあります。これは、logging
のFileHandler
を使用して実現できます。
from datetime import datetime
import logging
# ログファイル名に現在の日付を含める
log_filename = f"{datetime.now():%Y-%m-%d}.log"
handler = logging.FileHandler(log_filename)
logger = logging.getLogger(__name__)
logger.addHandler(handler)
上記のコードでは、datetime.now()
を使用して現在の日付を取得し、それをログファイル名に含めています。
以上がPythonのlogging
モジュールで日時フォーマットを設定する方法です。この機能を活用して、より詳細で有用なログを出力しましょう。.