Python 之循环日记

Python 之循环日志

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.")