方法很簡單:寫log到比如app.log的文件中,然后再滿足一定條件之后(比如文件的大小不超過多少bytes,文件的行數不超過多少count,或者每天生成一個日志文件)就會將滿足條件的app.log 重命名。這樣就可以實現每天生成一個日志文件的需求了。
TimedRotatingFileHandler 介紹:
TimedRotatingFileHandler類處於logging.handles 模塊中,提供重命名磁盤上的日志文件(以某種形式)
官網上詳細的介紹:http://docs.python.org/2.6/library/logging.html#timedrotatingfilehandler
ex:
import logging
from logging.handlers import TimedRotatingFileHandler
logHandler = TimedRotatingFileHandler("logfile",when="midnight")
logFormatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
logHandler.setFormatter( logFormatter )
logger = logging.getLogger( 'MyLogger' )
logger.addHandler( logHandler )
logger.setLevel( logging.INFO )
for k in range(5):
logger.info("Line %d" % k)
