728x90
삽질 30분
삽질 사유
콘솔에 로그가 찍히도록 StreamHandler 를 추가하고, 파일에도 찍도록 FileHandler 를 추가했다.
정상적이게 콘솔에 찍히고, 파일에도 출력됩니다. 그런데, 나오지 않았던 다른 라이브러리에 debug 로그가 쭉 찍히는걸 보고 setLevel를 INFO 레벨로 설정했는데 왜 나오지? 했는데,
30분의 삽질 끝에 각 핸들러에도 로그 레벨 설정이 가능한걸 알았다.
import logging
from logging.handlers import TimedRotatingFileHandler
# 로그 생성
logger = logging.getLogger()
# 로그의 출력 기준 설정
logger.setLevel(logging.INFO) # 여기 설정 했는데 적용이 안된다!
# 로그 출력 형식
formatter = logging.Formatter('[%(asctime)s] [%(module)s] [%(lineno)d] [%(name)s] [%(levelname)s] - %(message)s')
# log 출력
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
stream_handler.setLevel(logging.INFO) # 각 핸들러 마다 로그 레벨을 설정해주어야 한다.
logger.addHandler(stream_handler)
# log를 파일에 출력
file_handler = logging.FileHandler('./logs/my.log')
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.INFO) # 각 핸들러 마다 로그 레벨을 설정해주어야 한다.
logger.addHandler(file_handler)
각각 추가한 핸들러에 로그 레벨을 지정해주어야 해당 핸들러 로그세팅에 적용이 됩니다.
728x90
'파이썬' 카테고리의 다른 글
파이썬 셀레니움 크롬드라이버 ChromeDriverManager 버전 오류 feat.230818 수정 (3) | 2023.07.27 |
---|---|
파이썬 dict list 특정 key 로 중복제거 (0) | 2023.07.27 |
Pyqt Pyside 에서 show, hide 인지 확인하는법 (0) | 2023.06.14 |
pyqt label 에 a태그 클릭 시 링크 오픈 안될 경우 (0) | 2023.06.01 |
dj_rest_auth registration custom user(account) 회원가입 (0) | 2023.05.22 |