\

Pythonのlogging.configモジュールは、アプリケーションやライブラリのための柔軟なエラーログ記録 (logging) システムを実装するための関数やクラスを定義しています。この記事では、logging.configを使ってPythonのロギングを設定する方法について説明します。

logging.configの基本

まず、logging.configを使ってログを出力する基本的なコードを見てみましょう。

import logging.config

logging.config.fileConfig("logging.conf")
logger = logging.getLogger()

logger.info("info level log")
logger.debug("debug level log")

このコードでは、logging.confという設定ファイルを読み込んで、ログを出力しています。設定ファイルの中身は以下のようになっています。

[loggers]
keys=root

[handlers]
keys=fileHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=INFO
handlers=fileHandler

[handler_fileHandler]
class=FileHandler
formatter=simpleFormatter
args=('root.log','a')

[formatter_simpleFormatter]

この設定ファイルでは、ログの出力レベル、出力先、出力形式などを設定しています。

ログのローテーション

ログファイルが大きくなりすぎると管理が難しくなるため、一定のサイズや一定の期間が経過したら新しいファイルに切り替えることがあります。これをログのローテーションと言います。

logging.configでは、TimedRotatingFileHandlerを使ってログのローテーションを行うことができます。

[handler_fileHandler]
class=handlers.TimedRotatingFileHandler
formatter=simpleFormatter
args=('root.log','D')

この設定では、ログファイルが日ごとにローテートされます。

ログのフォーマット

ログの出力形式は、formatterセクションで設定することができます。

[formatter_simpleFormatter]
format=[%(asctime)s][%(levelname)s](%(filename)s:%(lineno)s) %(message)s
datefmt=%Y/%m/%d %H:%M:%S

この設定では、ログの出力形式が[日時][ログレベル](ファイル名:行数) メッセージとなります。

以上、Pythonのlogging.configを使ったロギングについて説明しました。このモジュールを使うことで、柔軟なログ記録が可能となります。

投稿者 admin

コメントを残す

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