Python 之循环日志
参考:
http://docs.python.org/2/library/logging.html
RotatingFileHandler 用于处理循环日志, 可以指定日志文件级别,日志文件最大容量(字节),日志文件
#!/usr/bin/python
# filename: printlog.py
# author:
# date: 2012-12-19
# version: 0.1
import logging
from logging.handlers import RotatingFileHandler
## log settings
LOG_PATH_FILE = "./print.log"
LOG_MODE = 'a'
LOG_MAX_SIZE = 2*1024*1024 # 2M
LOG_MAX_FILES = 4 # 4 Files: print.log.1, print.log.2, print.log.3, print.log.4
LOG_LEVEL = logging.DEBUG
LOG_FORMAT = "%(asctime)s %(levelname)-10s[%(filename)s:%(lineno)d(%(funcName)s)] %(message)s"
handler = RotatingFileHandler(LOG_PATH_FILE, LOG_MODE, LOG_MAX_SIZE, LOG_MAX_FILES)
formatter = logging.Formatter(LOG_FORMAT)
handler.setFormatter(formatter)
Logger = logging.getLogger()
Logger.setLevel(LOG_LEVEL)
Logger.addHandler(handler)
i=0
while i < 10000:
i = i+1
Logger.log(logging.DEBUG, "Logs a message with integer level lvl on this logger.")
Logger.info("Logs a message with level INFO on this logger.")
Logger.warning("Logs a message with level WARNING on this logger.")
Logger.error("Logs a message with level ERROR on this logger.")
Logger.critical("Logs a message with level CRITICAL on this logger.")
# Logger.exception("This method should only be called from an exception handler.")