"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python으로 로깅

Python으로 로깅

2024-11-08에 게시됨
검색:364

Logging con Python

로그, 로깅. 정의 및 Python으로 이벤트를 등록하는 방법

로깅을 사용하여 로그를 생성하면 코드에 많은 기능과 유연성이 제공됩니다. 이 짧은 기사에서는 기본 사항과 이를 프로젝트에 통합하는 데 필요한 추가 정보를 보여줍니다.

로깅이란 무엇입니까? 그리고 로그?

로깅은 이벤트를 모니터링하는 방법입니다. 이러한 이벤트는 특정 변수 정보(일부 변수의 값 또는 함수의 결과)와 특정 수준의 중요도가 포함된 설명 메시지를 통해 표시됩니다.
로그는 Python의 인쇄와 비슷하지만 반드시 화면에 인쇄되지는 않으며 이러한 로그를 알려진 파일에 저장할 수 있다는 차이점이 있습니다.

어떻게 사용할 수 있나요?

이미 Python에 기본적으로 제공되는 로깅 라이브러리를 사용합니다.

import logging

logging.basicConfig(
    filename="log-de-hoy.log",
    encoding="utf-8",
    level=logging.DEBUG,
    format="%(asctime)s %(levelname)s %(message)s"
)

def add(a, b):
    try:
        result = a   b
        logging.info(f"Adding {a} and {b}. Result: {result}")
    except TypeError:
        result = None
        logging.error("The values should be numeric")
    return result

print(add(2, 3)) # 5
print(add(2, "3")) # None

이것을 실행하면 log-de-hoy.log라는 파일이 생성됩니다:

2023-12-08 11:56:30,544 INFO Adding 2 and 3. Result: 5
2023-12-08 11:56:30,544 ERROR The values should be numeric

설명

?? 기본 구성을 시작합니다.logging.basicConfig를 사용하여 다음을 선언합니다.

  • filename: 로그를 추가하려는 특정 파일의 이름(예를 들어 이름은 log-de-hoy.log이지만 이상적으로는 날짜를 설명하는 이름을 가져야 합니다)
  • 인코딩: 각 로그를 저장하는 형식 유형
  • 수준: 관찰하려는 수준을 정의합니다. 다양한 수준이 문서에 나와 있으며 숫자 값이 있음을 알 수 있습니다(logging.INFO는 20). debug가 필요한 경우 최소한 10이 필요합니다. 따라서 login.DEBUG를 사용하면 값이 10 이후인 레벨이 등록되어 있는지 확인하세요.
  • 형식: 로그가 기록되는 형식(이 경우 메시지 수준 날짜)

?? 레벨 정보

로 합산 결과를 기록합니다.

?? 레벨 오류

로 정수와 문자열을 추가하는 오류를 등록합니다.

로깅을 사용하는 이유는 무엇입니까?

아마도 이미 상상할 수 있을 것입니다. 이상 현상을 빠르게 식별하는 데 도움이 되는 강력한 도구이기 때문입니다. 이를 사용하는 몇 가지 사용 사례는 다음과 같습니다.

  • ? 디버깅 및 문제 해결
  • ? 성능 모니터링 및 분석
  • ? 감사 및 규정 준수
  • ? 보안 및 이상 탐지

마무리하려면…

구현하기 쉽죠? 어떤 프로젝트에든 통합하고 너무 많은 인쇄물을 사용하지 않는 것이 장점인가요?.

로깅 모듈은 여기서 보여드린 것보다 훨씬 더 많은 기능을 제공합니다. 하지만 이 작은 것만으로도 충분합니다! 필요한 경우 문서에는 다른 사례, 방법, 구성 등이 잘 설명되어 있습니다.

릴리스 선언문 이 글은 https://dev.to/javicerodriguez/logging-con-python-2j7m?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3