StreamHandler
그냥 쓰면 된다
기본적인 핸들러 사용법은 아래
log = logging.getLogger('nl-api') # get logger log.setLevel(logging.DEBUG) # set level to logger fmt = logging.Formatter(logging.BASIC_FORMAT) # create formatter ch = logging.StreamHandler() # create handler
ch.setFormatter(fmt) # set formatter to handler ch.setLevel(logging.DEBUG) # set level to handler
log.addHandler(ch) # add handler to logger
RotatingFileHandler
파일핸들러를 사용해도 되지만, 오랫동안/많이 로그를 남기면 파일 사이즈가 커질 수 있다
이 핸들러와 파일핸들러의 차이점은, 기준 크기 이상이 되면 rollover하여 새로운 파일에 로깅한다는 것이다
option은 filename과 maxBytes, backupCount이다
maxBytes는 로그파일 하나의 기준 크기이고, backupCount는 로그파일의 갯수이다
maxBytes * backupCount 용량 이상의 로그가 쌓일경우, 오래된 것부터 삭제된다
maxBytes는 원하는 로그파일당 사이즈를 주면 되겠고
backupCount는 여유있게 주면 되겠다 (문제없는한 충분히)
FileHandler보다는 advanced하다
'Language > python' 카테고리의 다른 글
[python] for문과 yield문, return문 (0) | 2018.04.24 |
---|---|
[python] elasticsearch-dsl scan / index / doc_type (0) | 2018.04.12 |
[python] logging process/order/cycle/how-to-work (0) | 2018.04.11 |
[python] got multiple values for keyword argument 'query' error (0) | 2018.04.11 |
[python] elasticsearch-dsl DocType.save() (0) | 2018.04.11 |
WRITTEN BY
- hojongs
블로그 옮겼습니다 https://hojongs.github.io/