2011년 2월 14일 월요일

[Python] Logging

log는 debug의 가장 첫 걸음이 아니겠나. 하하하

어쨌든 이거 쓰는 법도 메모메모메모메모...

def getlogger():
  logger = logging.getLogger('BlahBlahLog')
  hdlr = logging.FileHandler('logfilename.log')
  formatter = logging.Formatter('%(asctime)s: %(message)s', '%Y-%m-%d %H:%M:%S')
  hdlr.setFormatter(formatter)
  logger.addHandler(hdlr)
  logger.setLevel(logging.DEBUG)

  return logger

g_logger = None

def debuglog(msg):
  global g_logger

  if not g_logger: g_logger = getlogger()
  g_logger.debug(msg)
아주 간단한 예다. 그냥 디버깅 메시지 찍을 용도니까 뭐.

이렇게 말고 최대 사이즈를 지정해서 백업을 생성하는 형태로 만들 수도 있다. 단순히 import logging.handlers 추가해 주고 FileHandler를 다음 RotatingFileHandler로 바꿔준다.
hdlr = logging.handlers.RotatingFileHandler(
  'logfilename.log', maxBytes=1024, backupCount=10)
maxBytes만 넣으면 무한대로 backup해 줄 줄 알았더니 안해주더라. backupCount도 필수.

댓글 없음 :