>  기사  >  백엔드 개발  >  Python에서 Stdout과 로그 파일에 동시에 로그인하는 방법은 무엇입니까?

Python에서 Stdout과 로그 파일에 동시에 로그인하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-18 18:55:291043검색

How to Log to Stdout and Log File Simultaneously in Python?

Python에서 동시에 Stdout 및 로그 파일에 로그 쓰기

Python에서 중요한 정보를 디버깅하고 캡처하려면 로그 출력 제어가 필수적일 수 있습니다. 로깅 모듈은 메시지를 파일에 기록하기 위한 광범위한 기능을 제공합니다. 그러나 즉각적인 가시성을 위해 콘솔(stdout)에 로그를 표시하는 것도 도움이 될 수 있습니다.

해결책:

모든 로깅 메시지가 stdout으로 출력되도록 하려면 지정된 로그 파일 외에도 루트 로거에 login.StreamHandler()를 추가하여 로깅 모듈의 기능을 확장할 수 있습니다.

구현:

<code class="python">import logging
import sys

# Capture stdout
stdout = sys.stdout

# Create a root logger
root = logging.getLogger()

# Set the logging level (DEBUG in this case)
root.setLevel(logging.DEBUG)

# Define the StreamHandler
handler = logging.StreamHandler(stdout)

# Configure the message format
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the StreamHandler to the root logger
root.addHandler(handler)</code>

이 수정을 통해 logger.warning, logger.tical 및 logger.error와 같은 메서드를 사용하여 기록된 모든 메시지는 구성된 로그 파일에 기록되고 stdout에 직접 표시됩니다. 이를 통해 문제 해결이 단순화되고 즉시 검사를 위해 메시지에 쉽게 액세스할 수 있습니다.

위 내용은 Python에서 Stdout과 로그 파일에 동시에 로그인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.