Pythonでログファイルのサイズを制限する方法 質問する

Pythonでログファイルのサイズを制限する方法 質問する

私は Windows 7 と Python 2.7 を使用しています。ログ ファイルのサイズを 5 MB に制限したいと考えています。アプリは起動時にログ ファイルに書き込み、その後終了します。アプリが再び起動すると、同じログ ファイルに書き込みます。そのため、アプリは継続的に実行されません。アプリは開始、処理、終了します。

ログ記録用のコードは次のとおりです:

import logging
import logging.handlers
logging.basicConfig(filename=logfile.log, level="info", format='%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')
logging.info("*************************************************")

試してみたRotatingFileHandlerけどうまくいかなかった

logging.handlers.RotatingFileHandler(logFile, mode='a', maxBytes=5*1024*1024, backupCount=2, encoding=None, delay=0)

では、Python でファイル サイズの制限を強制するにはどうすればよいでしょうか?

ベストアンサー1

失くしbasicConfig()て使う回転ファイルハンドラ:

import logging
from logging.handlers import RotatingFileHandler

log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')

logFile = 'C:\\Temp\\log'

my_handler = RotatingFileHandler(logFile, mode='a', maxBytes=5*1024*1024, 
                                 backupCount=2, encoding=None, delay=0)
my_handler.setFormatter(log_formatter)
my_handler.setLevel(logging.INFO)

app_log = logging.getLogger('root')
app_log.setLevel(logging.INFO)

app_log.addHandler(my_handler)

while True:
    app_log.info("data")

おすすめ記事