Logging to Files, Setting Levels, and Formatting
print
문을 도배해야 한다.
def add(x: int, y: int) -> int:
return x + y
def subtract(x: int, y: int) -> int:
return x - y
def multiply(x: int, y: int) -> int:
return x * y
def divide(x: int, y: int) -> int:
return x / y
num1 = 10
num2 = 2
add_result = add(num1, num2)
print(f"덧셈 결과는 : {add_result}")
sub_result = subtract(num1, num2)
print(f"뺄셈 결과는 : {sub_result}")
mul_result = multiply(num1, num2)
print(f"곱셈 결과는 : {mul_result}")
div_result = divide(num1, num2)
print(f"나눗셈 결과는 : {div_result}")
덧셈 결과는 : 12
뺄셈 결과는 : 8
곱셈 결과는 : 20
나눗셈 결과는 : 5.0
레벨 | 의미 |
---|---|
DEBUG | 상세한 정보. 보통 문제를 진단할 때만 필요합니다. |
INFO | 예상대로 작동하는지에 대한 확인. |
ERROR | 예상치 못한 일이 발생했거나 가까운 미래에 발생할 문제(예를 들어 ‘디스크 공간 부족’)에 대한 표시. 소프트웨어는 여전히 예상대로 작동합니다. |
WARNING | 더욱 심각한 문제로 인해, 소프트웨어가 일부 기능을 수행하지 못했습니다. |
CRITICAL | 심각한 에러. 프로그램 자체가 계속 실행되지 않을 수 있음을 나타냅니다. |
add_result = add(num1, num2)
logging.warning(f"덧셈 결과는 : {add_result}")
sub_result = subtract(num1, num2)
logging.warning(f"뺄셈 결과는 : {sub_result}")
mul_result = multiply(num1, num2)
logging.warning(f"곱셈 결과는 : {mul_result}")
div_result = divide(num1, num2)
logging.warning(f"나눗셈 결과는 : {div_result}")
WARNING:root:덧셈 결과는 : 12
WARNING:root:뺄셈 결과는 : 8
WARNING:root:곱셈 결과는 : 20
WARNING:root:나눗셈 결과는 : 5.0
하지만 위 메시지는 WARNING 레벨은 아니다.
DEBUG나 IFNO 가 적합하다.
logging.warning
을 logging.debug
로 바꿔보자.
import logging
def add(x: int, y: int) -> int:
return x + y
def subtract(x: int, y: int) -> int:
return x - y
def multiply(x: int, y: int) -> int:
return x * y
def divide(x: int, y: int) -> int:
return x / y
num1 = 10
num2 = 2
add_result = add(num1, num2)
logging.debug(f"덧셈 결과는 : {add_result}")
sub_result = subtract(num1, num2)
logging.debug(f"뺄셈 결과는 : {sub_result}")
mul_result = multiply(num1, num2)
logging.debug(f"곱셈 결과는 : {mul_result}")
div_result = divide(num1, num2)
logging.debug(f"나눗셈 결과는 : {div_result}")
하지만 결과는 출력되지 않는다.
logging.basicConfig(level=logging.DEBUG)
를 추가한 후 실행하면 된다.
DEBUG:root:덧셈 결과는 : 12
DEBUG:root:뺄셈 결과는 : 8
DEBUG:root:곱셈 결과는 : 20
DEBUG:root:나눗셈 결과는 : 5.0