Pythonのlogging
モジュールを使用して、ログをファイルに出力する方法について説明します。この記事では、ログをファイルに出力するための2つの主要な方法を取り上げます。
ソースコードに直接記述する方法
以下に、Pythonのlogging
モジュールを使用してログをファイルに出力する基本的なコードを示します。
import logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
fh = logging.FileHandler(filename='./logs/test001.log', encoding='utf-8')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug("ログに出力")
logger.info("ログに出力")
logger.warning("ログに出力")
logger.error("ログに出力")
このコードは、logging
モジュールを使用してログを生成し、それをtest001.log
という名前のファイルに出力します。
設定ファイルを使用する方法
次に、設定ファイルを使用してログをファイルに出力する方法を示します。
まず、以下のような設定ファイル(logging.conf
)を作成します。
[loggers]
keys = root
[handlers]
keys = fileHandler
[formatters]
keys = simpleFormatter
[logger_root]
level = DEBUG
handlers = fileHandler
[handler_fileHandler]
class = FileHandler
formatter = simpleFormatter
args = ('./logs/test002.log', 'a', 'utf-8')
[formatter_simpleFormatter]
format = %(asctime)s %(levelname)s %(message)s
次に、以下のPythonコードを使用して、この設定ファイルを読み込み、ログを生成します。
import logging.config
logging.config.fileConfig("./conf/logging.conf")
logger = logging.getLogger()
logger.debug("ログに出力")
logger.info("ログに出力")
logger.warning("ログに出力")
logger.error("ログに出力")
このコードは、設定ファイルを読み込み、その設定に基づいてログを生成し、それをtest002.log
という名前のファイルに出力します。
以上が、Pythonのlogging
モジュールを使用してログをファイルに出力する2つの主要な方法です。これらの方法を適切に使用することで、Pythonプログラムのデバッグやトラブルシューティングを効率的に行うことができます。