http://docs.python.org/2/howto/logging-cookbook.html
# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
LOG_FILENAME, maxBytes=20, backupCount=5)
my_logger.addHandler(handler)
my_logger.debug('log message here....')
Logger
: 일종의 identifier로, 애플리케이션 마다 logger를 정하 수 있음
handler
: 파일 핸들러, 소켓 핸들러, Rotating 파일 핸들러등,스트림 핸들러(Console 등)
※ DB Handler는 없는 듯 하고, 소켓 핸들러를 이용하면, 분산 시스템에서 중앙 집중화된 Logger를 만들 수 있음
(단, 로그 서버가 별도로 있는게 아니기 때문에, 분산 환경용 로거는 만들기 나름)
formater
: 핸들러 마다 붙일 수 있음
logging 메서드
: debug,info,warn,error,critical
: setLevel로 로그 출려 레벨 정함
단순 예제
import logging
logger = logging.getLogger("logging_sample")
logger.setLevel(logging.DEBUG)
# file log handler
fh = logging.FileHandler("/temp/python.log")
fh.setLevel(logging.ERROR)
# console log handler
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
#create formmater
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
fh.setFormatter(formatter)
logger.addHandler(ch)
logger.addHandler(fh)
logger.debug("this is debugging")
logger.info("this is info")
'프로그래밍 > Python' 카테고리의 다른 글
Python 공부 노트 8. - Django 에서 model을 이용한 기본 데이타 베이스 프로그래밍 (0) | 2013.01.23 |
---|---|
Python 공부 노트 7. - Django 설치 (0) | 2013.01.22 |
Python 공부 노트 5. - 단위 테스트 (1) | 2013.01.21 |
Python 공부 노트 4. - 초간단 RDBMS 프로그래밍 (0) | 2013.01.14 |
Python 공부 노트 3. - 데이타 모델 (List) (0) | 2013.01.04 |