私は 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")