다음은 Python이 로깅을 통해 파일과 콘솔에 로그를 작성하는 예제입니다. 좋은 참고값이 있어 모든 분들께 도움이 되었으면 좋겠습니다. 함께 살펴보겠습니다
아래와 같이
import logging # 创建一个logger logger = logging.getLogger('mylogger') logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件 fh = logging.FileHandler('test.log') fh.setLevel(logging.DEBUG) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 定义handler的输出格式 formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler logger.addHandler(fh) logger.addHandler(ch) # 记录一条日志 logger.info('foorbar')
formatter 구성은 사전의 키워드 대체인 %(1dea5f48fed82ca0e7a5493fa56c2e35)s 형식을 사용합니다. 제공된 키워드는 다음과 같습니다:
Format | Description |
---|---|
%(name)s | 로거 이름(로깅 채널). |
% ( levelno)s | 메시지에 대한 숫자 로깅 수준(DEBUG, INFO, WARNING, ERROR, CRIT I CAL). |
%(levelname)s | 메시지의 텍스트 로깅 수준('DEBUG', 'INFO', 'WARNING', 'ERROR' , 'CRITICAL'). |
%(pathname)s | 로깅 호출이 실행된 소스 파일의 전체 경로 이름(사용 가능한 경우). |
%(filename )s | 경로 이름의 파일 이름 부분. |
%(module)s | Module(파일 이름의 이름 부분). |
%(funcName)s | 이름 로깅 호출이 포함된 함수 |
%(lineno)d | 로깅 호출이 실행된 소스 줄 번호(사용 가능한 경우). |
%(created)f | 로깅 모듈이 로드된 시간을 기준으로 LogRecord가 생성된 시간(time.time()에 의해 반환됨). |
%(asctime)s | 사람이 읽을 수 있는 |
시간입니다. 기본적으로 이는 '2003-07 -08 16:49:45,896' 형식입니다(쉼표 뒤의 숫자는 시간의 밀리초 부분입니다). | %(thread)d스레드 ID(사용 가능한 경우). |
%(threadName)s | 스레드 이름(사용 가능한 경우). |
프로세스 ID(사용 가능한 경우). | |
기록된 메시지는 msg | % |
. | 관련 권장 사항:|
Python 로그의 구성 파일 경로 문제에 대한 간략한 토론 |
위 내용은 로깅을 통해 파일 및 콘솔에 로그를 작성하는 Python의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!