Python 에서 logging 로그 의 네 등급 과 사용

6023 단어 Pythonlogging
1.로그 소개
현실 생활 에서 기록 일 지 는 매우 중요 하 다.예 를 들 어 은행 이 이 체 를 할 때 이체 기록 이 있다.비행기 가 비행 하 는 과정 에서 블랙박스(비행 데이터 기록 기)가 비행기의 비행 과정 을 기록 하고 있 습 니 다.그러면 우리 python 프로그램 에서 프로그램 이 운행 할 때 발생 하 는 로그 정 보 를 기록 하려 면 어떻게 해 야 합 니까?
logging 이 가방 으로 완성 할 수 있 습 니 다.
프로그램 로그 정 보 를 기록 하 는 목적 은:
1.프로그램의 운행 상황 을 편리 하 게 파악 할 수 있다.
2.사용자 의 조작 행위,취향 등 정 보 를 분석 할 수 있다.
3.개발 자가 버그 를 검사 하 는 데 편리 함
2.로그 단계 소개
로그 레벨 은 5 개 로 나 눌 수 있 습 니 다.낮은 것 부터 높 은 것 까지 각각:
1. DEBUG
 2. INFO
 3. WARNING
 4. ERROR
 5. CRITICAL
로그 레벨 설명:
  • DEBUG:프로그램 디버그 bug 시 사용
  • INFO:프로그램 이 정상적으로 실 행 될 때 사용
  • 경고:프로그램 이 예상 한 대로 실행 되 지 않 았 을 때 사용 되 지만 오류 가 아 닙 니 다.예 를 들 어 사용자 로그 인 비밀번호 오류
  • ERROR:프로그램 이 잘못 되 었 을 때 사용 합 니 다.예 를 들 어 IO 작업 실패
  • CRITICAL:매우 심각 한 문제 로 인해 프로그램 이 더 이상 실 행 될 수 없 을 때 사용 합 니 다.예 를 들 어 디스크 공간 이 비어 있 고 거의 사용 되 지 않 습 니 다
  • 기본적으로 WARNING 등급 입 니 다.WARNING 이나 WARNING 이상 등급 에 로그 정 보 를 기록 합 니 다.
  • 로그 레벨 이 낮 을 때 부터 높 을 때 까지 의 순 서 는 다음 과 같 습 니 다:DEBUG3.로그 사용
    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 는 로그 의 출력 형식 을 표시 합 니 다.매개 변수 설명:
  • %(levelname):로그 단계 이름 인쇄
  • %(filename):현재 실행 중인 프로그램 이름 인쇄
  • %(lineno)d:로 그 를 인쇄 하 는 현재 줄 번호
  • %(asctime):로 그 를 인쇄 하 는 시간
  • %(message):로그 정보 인쇄
  • 로그 정 보 를 로그 파일 에 저장 하 는 예제 코드:
    
    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 로그 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기