Python에서 stdout에 로깅
-
Python에서
logging.basicConfig()
함수를 사용하여stdout
에 로그인합니다 -
Python에서
logging.StreamHandler()
함수를 사용하여stdout
에 로그인합니다
이 자습서에서는 Python에서 파일 및 stdout에 로그를 작성하는 방법을 소개합니다.
Python에서logging.basicConfig()
함수를 사용하여stdout
에 로그인합니다
로그를 콘솔 창에 인쇄하고 파일에 로그를 작성하려면이 프로세스에 logging.basicConfig()
함수를 사용할 수 있습니다. logging.basicConfig()
함수는 Python 로그인을위한 몇 가지 기본 매개 변수를 구성합니다. 이 함수의stream
매개 변수를 사용하여이 로그를 콘솔 창에도 인쇄하도록 지정할 수 있습니다. 나머지 구성은logging.basicConfig()
함수를 사용하여 파일에 로그를 쓰는 것과 동일하게 유지됩니다. 다음 코드는 콘솔 창에 로그를 작성하는 방법을 보여줍니다.
import logging
import sys
# Creating and Configuring Logger
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(
filename="logfile.log",
stream=sys.stdout,
filemode="w",
format=Log_Format,
level=logging.ERROR,
)
logger = logging.getLogger()
# Testing our Logger
logger.error("Our First Error Message")
출력:
2021-06-13 05:15:24,093 - root - ERROR - Our First Error Message
Python에서logging.StreamHandler()
함수를 사용하여stdout
에 로그인합니다
또한logging.StreamHandler()
함수를 사용하여 Python의 콘솔 창에 로그를 작성할 수 있습니다. sys.stdout
을logging.StreamHandler()
함수에 전달하여 로그 메시지를 콘솔 창에 인쇄 할 수있는 스트림 핸들러를 만들 수 있습니다. 그런 다음addHandler()
함수를 사용하여이 스트림 핸들러를 로거 객체에 추가 할 수 있습니다. 다음 코드 스 니펫은logging.StreamHandler()
함수를 사용하여 콘솔 창에 로그 메시지를 인쇄하는 방법을 보여줍니다.
import logging
import sys
logger = logging.getLogger()
fileHandler = logging.FileHandler("logfile.log")
streamHandler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
streamHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)
logger.addHandler(streamHandler)
logger.addHandler(fileHandler)
logger.error("This is the first error")
출력:
2021-06-13 05:03:37,510 - root - ERROR - This is the first error
위의 코드에서logfile.log
및logging.FileHandler()
및logging.StreamHandler()
함수를 사용하여 콘솔 창에This is the first error
로그 메시지를 작성했습니다. 먼저logging.getLogger()
함수로 로그를 작성하는 데 사용할 로거 객체를 생성했습니다. 그런 다음 파일 핸들러fileHandler
를 생성하고 여기에logging.FileHandler('logfile.log')
를 할당했습니다.
그 후 스트림 핸들러streamHandler
를 생성하고logging.StreamHandler(sys.stdout)
를 할당했습니다. 그 후logging.Formatter()
함수로 출력을 형식화하는 포맷터를 만들고setFormatter()
함수로fileHandler
및streamHandler
모두에 대한 포맷터를 설정했습니다. 이전 단계에 이어addHandler()
함수를 사용하여 두 개의 새 핸들러를 로거 객체에 추가했습니다. 결국 우리는logger.error('This is the first error')
를 사용하여 파일과 콘솔 창에 오류 메시지를 썼습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn