方法 | 描述 |
---|---|
Logger.debug() | |
Logger.info() | |
Logger.warning() | 默认 |
Logger.error() | |
Logger.critical() | |
Logger.exception() |
名字的应用
使用不同的名字,获得不同的logger对象,来输出不同的内容.特别是使用__name__
参量,按模块来分类日志
# amodule
import logging
logger = logging.getLogger(__name__)
logger.error('amodule')
# bmodule
import logging
logger = logging.getLogger(__name__)
logger.error('bmodule')
# test.py
import logging
import amodule,bmodule
logger = logging.getLogger(__name__)
logger.error('main')
级别的应用
场景:
在开发环境下,我们要看’warning,error,critical’的信息,而在生产环境下我们只看’error,critical’的信息,通过设置level
即可实现
这里单独设置logger.setLevel(logging.DEBUG)是无效的,还需要设置handler
import logging
logger = logging.getLogger('root')
# 默认级别是logging.WARNING,所以输出了'warning,error,critical'
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')
# 将级别改到logging.ERROR,则只输出了'error,critical'
logger.setLevel(logging.ERROR)
logger.debug('debug')
logger.info('info')
logger.warning('warning')
logger.error('error')
logger.critical('critical')
记录报错信息
logger = logging.getLogger(__name__)
try:
a=1/0
except Exception as e:
logger.exception("%s"%variable)//variable代指程序运行中的参数
参考:
https://docs.python.org/3/library/logging.html#logging.Logger