Sysops Notepad

[python] logging 모듈 사용하기 본문

업무/dev

[python] logging 모듈 사용하기

sysops 2019. 2. 26. 17:37
728x90



- 간단하게 로깅 사용하기


import logging


logging.basicConfig(format='[%(levelname)s] %(asctime)s %(message)s',filename='/var/log/data.log',datefmt='%m/%d/%Y %I:%M:%S %p',filemode='w', level=logging.warning)

logging.warning('warning log ')


- 출력과 로깅 동시에 사용하기


import logging 

import logging.handlers 


# logger 인스턴스 생성 및 로그 레벨 설정 

logger = logging.getLogger(__name__) 

logger.setLevel(logging.warning) 


# formmater 생성 

formatter = logging.Formatter('[%(levelname)s] %(asctime)s %(message)s' ,datefmt='%m/%d/%Y %I:%M:%S %p') 


# fileHandler와 StreamHandler를 생성 , 파일 사이즈 조정

fileHandler = logging.FileHandler('/var/log/data.log') 

streamHandler = logging.StreamHandler() 


# +@ python 자체 파일 사이즈 제어

#file_max_bytes = 10 * 1024 * 1024 * 1024

#fileHandler = logging.handlers.RotatingFileHandler(filename='/var/log/data.log', maxBytes=file_max_bytes, backupCount=10)


#  Fommater 할당 

fileHandler.setFormatter(formatter) 

streamHandler.setFormatter(formatter) 

 

logger.addHandler(fileHandler) 

logger.addHandler(streamHandler) 


# Test

logger.debug("debug log ")

logger.info("info log ")

logger.warning("warning log ")

logger.error("error log ")

logger.critical("critical log ")



참고:

https://docs.python.org/ko/3/howto/logging.html

728x90
Comments