方法很簡單:寫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)