日志logging模块介绍

2021-12-01  本文已影响0人  D_w

日志的等级

logging模块的使用

  1. 使用logging提供的模块级别的函数
logging.debug(msg,*args,kwargs)      # 创建一条严重级别为debug的日志记录
logging.info(msg,*args,kwargs)     # 创建一条严重级别为info的日志记录
logging.warning(msg,*args,kwargs)     # 创建一条严重级别为warning的日志记录
logging.error(msg,*args,kwargs)        # 创建一条严重级别为error的日志记录
logging.critical(msg,*args,kwargs)      # 创建一条严重级别为critical的日志记录
logging.log(msg,*args,kwargs)        # 创建一条严重级别为log的日志记录
logging.basicConfig(**kwargs)         # 对root logger进行一次性配置

logging日志格式输出

logging.basicConfig()函数说明


image.png

logging模块的格式字符串


image.png
举个例子
import logging

my_format = '%(asctime)s-%(filename)s-%(module)s-%(lineno)d'

logging.basicConfig(
    filename='my.log',
    level=logging.INFO,   # 这里设置的等级后,后续logger的输出只会输出严重级别大于等于这个级别的日志,如这里设置INFO,后续的debug级别日志就不输出
    format=my_format     # format接收字符串,内容参考logging\__init__.py中class formatter中的说明
)

logging.info(msg='info')     # 创建一条严重级别为info的日志记录
logging.debug(msg='debug')      # 创建一条严重级别为debug的日志记录
logging.warning(msg='warning')     # 创建一条严重级别为warning的日志记录
logging.error(msg='error')        # 创建一条严重级别为error的日志记录
logging.critical(msg='critical')      # 创建一条严重级别为critical的日志记录
------------my.log中的内容--------------------
2021-11-30 17:46:35,316-test.py-test-11
2021-11-30 17:46:35,316-test.py-test-13
2021-11-30 17:46:35,316-test.py-test-14
2021-11-30 17:46:35,316-test.py-test-15
  1. 使用logging日志系统的四大组件
import logging
import logging.handlers
import datetime

logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)

rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))

f_handler = logging.FileHandler('error.log')
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))

logger.addHandler(rf_handler)
logger.addHandler(f_handler)

logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
-----------------all.log----------------
2021-11-30 18:11:34,262 - DEBUG - debug message
2021-11-30 18:11:34,262 - INFO - info message
2021-11-30 18:11:34,262 - WARNING - warning message
2021-11-30 18:11:34,262 - ERROR - error message
2021-11-30 18:11:34,263 - CRITICAL - critical message
--------------error.log----------------
2021-11-30 18:11:34,262 - ERROR - test_four_module.py[:21] - error message
2021-11-30 18:11:34,263 - CRITICAL - test_four_module.py[:22] - critical message
上一篇下一篇

猜你喜欢

热点阅读