Python logger의 사용을 알아 보자.
자세한 내용은 참조 링트를 참조한다
예제 프로램은 첨부 파일 참조
directory - ini - config.ini ; log_level을 설정한다
- CConfigPaser.py ; config.ini 으로부터 log_level을 가져 온다.
- log.py ; Main 프로그램,
major 함수
logger(logger_name, **kwargs)
logger 설정
log = logger(pyFn, level=log_lv, show=True)
"""
pyFn : logger name , matantory
level: debug, info, warning, critical, error
show : True=log 내용을 파일로 저장, Fail=log 내용을 파일로 저장하지 않음
"""
예제 프로그램을 보고 목에 맞게 사용하면 됩니다.
Log 출력과 print 출력 시점이 다르다.
그 이유는?
=> Print는 표준 출력으로 메시지를 전송하는 간단한 작업을 수행한다.
=> Log 출력은 프레임워크를 통해 메시지를 전달하고, 이에 따른 추가적인 처리 및 오버헤드가 발생할 수 있다.
=> print의 출력 시점이 log 출력보다 빠르다.
=> logging은 메세지를 출력하기 전 logger의 level을 확인하여 print보다 추가적인 처리 시간이 소요되어
print보다 이후 시점에 출력됩니다.
어떻게 혼용해서 사용해야 하는가?
=> log level 관리가 필요하거나 multi-thread 환경, 에선 log를 사용하자
=> print 출력은 multi thread 환경에서 출력이 섞일 수 있다.
=> 간단한 개발 환경에서 print 출력을 사용하고 그 외의 경우는 log 출력을 사용하자.
=> 호출이 빈번하고 대형 애플리케이션 = logging 모듈
=> 호출 횟수가 적고 log level이 필요 없는 간단한 상황 = print 함수
참조:
https://kils-log-of-develop.tistory.com/819
https://docs.python.org/ko/3/howto/logging.html
https://docs.python.org/3.12/
추가적으로 사용할 pytho moduel : colorlog
설치 방법 : pip install colorlog
'언어 > Python' 카테고리의 다른 글
Python 나침판(Compass) 만들기. (0) | 2024.01.17 |
---|---|
Python FTP client Program (2) | 2024.01.02 |
Python Directory 생성 및 삭제와 파일 복사 (1) | 2023.11.11 |
Python ConfigParser 사용 및 기능 간소화 (0) | 2023.11.11 |
python win32com Excel 다루기 (2) | 2022.02.24 |