Python 에서 logging 로그 의 네 등급 과 사용
현실 생활 에서 기록 일 지 는 매우 중요 하 다.예 를 들 어 은행 이 이 체 를 할 때 이체 기록 이 있다.비행기 가 비행 하 는 과정 에서 블랙박스(비행 데이터 기록 기)가 비행기의 비행 과정 을 기록 하고 있 습 니 다.그러면 우리 python 프로그램 에서 프로그램 이 운행 할 때 발생 하 는 로그 정 보 를 기록 하려 면 어떻게 해 야 합 니까?
logging 이 가방 으로 완성 할 수 있 습 니 다.
프로그램 로그 정 보 를 기록 하 는 목적 은:
1.프로그램의 운행 상황 을 편리 하 게 파악 할 수 있다.
2.사용자 의 조작 행위,취향 등 정 보 를 분석 할 수 있다.
3.개발 자가 버그 를 검사 하 는 데 편리 함
2.로그 단계 소개
로그 레벨 은 5 개 로 나 눌 수 있 습 니 다.낮은 것 부터 높 은 것 까지 각각:
1. DEBUG
2. INFO
3. WARNING
4. ERROR
5. CRITICAL
로그 레벨 설명:
logging 가방 에 로 그 를 기록 하 는 방식 은 두 가지 가 있 습 니 다.
1.콘 솔 로 출력
2.로그 파일 에 저장
로그 정 보 를 콘 솔 로 출력 하 는 예제 코드:
import logging
logging.debug(' debug ')
logging.info(' info ')
logging.warning(' warning ')
logging.error(' error ')
logging.critical(' critical ')
실행 결과:WARNING:root:이것 은 warning 등급 의 로그 정보 입 니 다.
ERROR:root:error 레벨 의 로그 정보 입 니 다.
CRITICAL:root:이것 은 critical 등급 의⽇志 정보 입 니 다.
설명:
로그 정 보 는 WARNING 단계 이상 의 로그 만 표시 합 니 다.이 는 기본 로그 단계 가 WARNING 단계 로 설정 되 어 있 음 을 의미 합 니 다.
logging 로그 등급 과 출력 형식의 설정:
import logging
#
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
logging.debug(' debug ')
logging.info(' info ')
logging.warning(' warning ')
logging.error(' error ')
logging.critical(' critical ')
실행 결과:2019-02-13 20:41:33,080-hello.py[line:6]-DEBUG:이것 은 debug 급 의⽇志 정보 입 니 다.
2019-02-13 20:41:33,080-hello.py[line:7]-INFO:이것 은*개 info 급 의*지 정보 입 니 다.
2019-02-13 20:41:33,080-hello.py[line:8]-WARNING:이것 은⼀개 warning 등급 의⽇志 정보 입 니 다.
2019-02-13 20:41:33,080-hello.py[line:9]-ERROR:이것 은⼀개 error 등급 의⽇志 정보
2019-02-13 20:41:33,080-hello.py[line:10]-CRITICAL:이것 은⼀개의 critical 등급 의⽇志 정보 입 니 다.
코드 설명:
level 설정 로그 레벨 표시
format 는 로그 의 출력 형식 을 표시 합 니 다.매개 변수 설명:
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
filename="log.txt",
filemode="w")
logging.debug(' debug ')
logging.info(' info ')
logging.warning(' warning ')
logging.error(' error ')
logging.critical(' critical ')
실행 결과:4.logging 로 그 는 mini-web 프로젝트 에 적 용 됩 니 다.
웹.py 프로그램 은 logging 로그 예제 를 사용 합 니 다:
1.프로그램 입구 모듈 설정 logging 로그 설정
import socket
import threading
import sys
import framework
import logging
# logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s',
filename="log.txt",
filemode="w")
2.INFO 급 로그 출력,예제 코드:
#
if request_path.endswith(".html"):
""" , """
logging.info(" :" + request_path)
...
else:
""" """
logging.info(" :" + request_path)
3.WARNING 단계 의 로그 출력,예제 코드:
#
if len(sys.argv) != 2:
print(" : python3 xxx.py 9000")
logging.warning(" !")
return
#
if not sys.argv[1].isdigit():
print(" : python3 xxx.py 9000")
logging.warning(" !")
return
framework.py 프로그램 은 logging 로그 예제 를 사용 합 니 다.1.ERROR 등급 의 로그 출력,예제 코드:
#
def handle_request(env):
#
request_path = env["request_path"]
print(" :", request_path)
# ,
for path, func in route_list:
if request_path == path:
result = func()
return result
else:
logging.error(" :" + request_path)
#
result = not_found()
return result
설명:logging 로그 설정 정 보 는 프로그램 입구 모듈 에 한 번 설정 하면 전체 프로그램 이 유효 합 니 다.
logging.basicConfig 는 로그 설정 동작 을 표시 합 니 다.
5.소결
python 프로그램의 로그 정 보 를 기록 하려 면 logging 패 키 지 를 사용 하 십시오.
logging 로그 레벨 은 5 개 입 니 다:
1. DEBUG
2. INFO
3. WARNING
4. ERROR
5. CRITICAL
로 그 를 인쇄 하 는 함 수 는 5 개 입 니 다.
1.logging.debug 함수,표시:인쇄(기록)DEBUG 급 로그 정보
2.logging.info 함 수 는 INFO 단계 의 로그 정 보 를 인쇄(기록)합 니 다.
3.logging.warning 함 수 는 WARNING 단계 의 로그 정 보 를 인쇄(기록)합 니 다.
4.logging.error 함 수 는 ERROR 등급 의 로그 정 보 를 인쇄(기록)합 니 다.
5.logging.critical 함 수 는 CRITICAL 등급 의 로그 정 보 를 인쇄(기록)합 니 다.
Python 에서 logging 로그 의 네 가지 등급 과 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Python logging 로그 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.