Pythonのlogging
モジュールは、ログを出力したり、ログファイルを処理したりするのに便利なモジュールです。このモジュールは、ログのローテート(回転)という機能もサポートしています。ログのローテートとは、新しい空のログファイルで追記を再開することを指します。
以下に、Pythonのlogging
モジュールを使用してログファイルをローテートする基本的なコードを示します。
import logging
import logging.handlers
import time
logger = logging.getLogger()
logging.basicConfig(level=logging.INFO)
logger.addHandler(logging.handlers.RotatingFileHandler(filename='sample.log', maxBytes=100, backupCount=3))
i = 0
while True:
logger.info('log %d' % i)
i += 1
time.sleep(1)
このコードは、sample.log
という名前のログファイルを作成します。ログファイルのサイズが100バイトを超えると、sample.log
はsample.log.1
に名前が変更され、新しいsample.log
ファイルにログが追記されます。さらに時間が経過すると、sample.log.1
, sample.log.2
, sample.log.3
という3世代のバックアップが作成されます。
このように、Pythonのlogging
モジュールを使用すると、ログファイルのローテートを簡単に実装することができます。これにより、ログファイルが極端に大きくなることを防ぎ、ログの解析を容易にすることができます。.