로깅

장현빈·2024년 11월 28일

python

목록 보기
6/8
  • 프로그램을 작성할 때 간단히 함수 호출 상태나 함수의 리턴 값 등을 확인하기 위해 print를 사용함.
  • 프로그램이 정상적으로 동작되는게 확인되면 이러한 print를 지우거나 주석으로 처리
  • 복잡한 프로그램을 분석하는 경우 메시지를 화면에 출력하기 보다는 파일로 쓰는 경우도 있음.
  • 이 경우 코드 내에서 파일을 열고 파일에 메시지를 쓰도록 로깅 코드를 작성하거나 운영체제의 리다이렉션(Redirection)을 사용해서 파일로 출력되도록 함.
  • 파이썬의 logging 모듈을 사용하면 print 함수를 사용하거나 파일 입출력을 사용하는 것보다 편하게 로깅 가능.

로깅 함수별 사용방법

레벨로깅 함수사용할 때
DEBUGdebug()상세한 정보를 출력
INFOinfo()예상대로 작동하는지를 확인
WARNINGwarning()소프트웨어는 정상 동작하는데 예상치 못한 일이 발생한 것에 대해 표시
ERRORerror()소프트웨어의 일부가 정상적으로 동작하지 않는 경우에 대해 표시
CRITICALcritical()심각한 에러 상황에 대해 표시
import logging

logging.basicConfig(level=logging.INFO)

def hap(a, b):
    ret=a+b
    logging.info(f"input: {a} {b}, output={ret}")
    return ret
    
result=hap(3,4)
  • 간단한 프로그램의 경우 콘솔에 롱깅하기도 하지만 프로그램이 조금만 복잡해지면 로깅양도 많아지기에 주로 파일에 로깅.
  • 파일에 로깅하면 나중에 파일을 열어서 상태를 분석하는데 용이

import logging

logging.basicConfig(filename="mylog.txt", level=logging.INFO)

def hap(a, b):
ret=a+b
logging.info(f"input: {a} {b}, output={ret}")
return ret

result=hap(3,4) # mylog.txt 생성되고 로깅

profile
인공지능 관련 분야에 관심있습니다.

0개의 댓글