python logging 모듈 사용 상세 설명
사용 방법:템 플 릿 을 직접 가 져 와 서 사용 하고 수 동 으로 수정 합 니 다.
# logging ( )
import os
import logging.config
# ( , , )
standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \
'[%(levelname)s][%(message)s]' # name get_logger
simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
id_simple_format = '[%(levelname)s][%(asctime)s] %(message)s'
#
# (*****) 1: log ( )
BASE_PATH = os.path.dirname(os.path.dirname(__file__)) #
logfile_dir = os.path.join(BASE_PATH, 'log') # log
# (*****) 2: log ( )
logfile_name = 'user.log'
#
if not os.path.isdir(logfile_dir):
os.mkdir(logfile_dir)
# log
logfile_path = os.path.join(logfile_dir, logfile_name)
# (*****) 3: log ( , , )
LOGGING_DIC = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format': standard_format
},
'simple': {
'format': simple_format
},
},
'filters': {},
'handlers': {
#
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler', #
'formatter': 'simple'
},
# , info
'default': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler', #
'formatter': 'standard',
'filename': logfile_path, #
'maxBytes': 1024 * 1024 * 5, # 5M
'backupCount': 5,
'encoding': 'utf-8', # , log
},
},
'loggers': {
# logging.getLogger(__name__) logger
'': {
'handlers': ['default', 'console'], # handler , log
'level': 'DEBUG',
'propagate': True, # ( level logger)
},
},
}
# (*****) 4: , " id" " ",
def get_logger(user_type):
# 1. log logging
logging.config.dictConfig(LOGGING_DIC)
# 2.
# logger = logging.getLogger('user')
# logger = logging.getLogger('bank')
# logger = logging.getLogger('shop')
logger = logging.getLogger(user_type)
return logger
# , # logger ,
logger = get_logger('user') # " id" " "
#
# logger.debug(' , !')
logger.info(' , !') # debug info , info ,info
주의:앞의 세 가지 주의 점 은 상황 에 따라 설정 을 수정 할 수 있 습 니 다.네 번 째 주의 점 은 log 의 설정 사전 입 니 다.수정 할 필요 가 없고 주의 만 하면 됩 니 다.실행 결과:
[INFO][2020-10-22 20:23:07,405][04 logging .py:100] , !
logging 모듈 응용 출력 예시:이상 은 python logging 모듈 의 사용 에 대한 상세 한 내용 입 니 다.python logging 모듈 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.