Meiren

[Programming] Logging (로깅) 본문

Programming(프로그래밍, 코딩, coding)

[Programming] Logging (로깅)

meiren 2023. 1. 8. 12:30
HOW TO LOG?

 

Logging?

어떤 소프트웨어가 실행될 때 발생하는 이벤트를 추적하는 수단

개발자는 코드에 로깅 호출을 추가해 > 특정 이벤트 발생을 나타낼 수 있음

 

이벤트

- 가변데이터(이벤트 발생마다 잠재적으로 다른 데이터)를 포함할 수 있는 설명 메시지로 기술됨

- 개발자가 이벤트에 부여한 중요도가 있음, level or severity(심각도)

 

 

 

Logging Function

로깅함수는 추적되는 이벤트의 수준/심각도에 따라 명명됨(심각도 순)

debug : 상세한 정보, 보통 문제를 진단할 때만 필요

info : 예상대로 작동하는지에 대한 확인

warning : 예상치 못한 일이 발생했거나 가까운 미래에 발생할 문제(디스크 공간 부족 등) 에 대한 표시. 소프트웨어는 여전이 작동

error : 소프트웨어가 일부 기능을 수행하지 못함

critical : 프로그램 자체가 계속 실행되지 않을 수 있음을 나타냄

import logging

logging.warning('watch out!')   # will print a message to the console
logging.info('I told you so').  # will not print anything
>> WARNING:root:Watch out!

프로그램의 정상 작동 중에 발생하는 이벤트 보고

(가령 상태 모니터링이나 결함 조사)

- logging.info()

- logging.debut() <- 자세한 출력

 

특정 실행시간 이벤트와 관련한 경고 발행

- warnings.warn() : 문제를 피할 수 있음, 경고 제거를 위한 클라이언트 응용프로그램이 수정되어야 하는 경우

- logging.warning() : 클라이언트 응용 프로그램이 할 수 있는 일이 없는 상황이지만 이벤트를 계속 주목해야하는 경우

 

예외 발생시키지 않고, 에러의 억제를 보고

(가령 장기 실행 서버 프로세스의 에러 처리기)

구체적인 에러와 응용 프로그램 영역에 적절한

- logging.error()

- logging.exception()

- logging.critical()

 

 

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

 

Logging HOWTO

Author, Vinay Sajip <vinay_sajip at red-dove dot com>,. Basic Logging Tutorial: Logging is a means of tracking events that happen when some software runs. The software’s developer adds logging call...

docs.python.org

https://jihyunlee.tistory.com/27

 

python logger사용하기

python 에서 log를 만드는 (경험상) 가장 편리한 방법을 정리해 보았다. 왜 print()를 안쓰는가? - print도 간단하고 좋은 방법이지만, 따로 관리하기 어렵고, 지저분하고.. 언제 남겨진 log인지 알아보기

jihyunlee.tistory.com