1.日志级别
debug | 调试,诊断 |
info | 普通信息 |
warning | 警告 |
error | 错误 |
critical | 危险 |
logging.debug('this is a debug log')
logging.info('this is a info log')
logging.warning('this is a warning log')
logging.error('this is a error log')
logging.critical('this is a critical log')
设置级别(根据级别显示)
logging.basicConfig(level = logging.DEBUG)
2.格式化
logging.basicConfig( level = 30,
format="%(asctime)s-%(levelname)s-%(message)s",(设置输出格式)
%(name)s,(所使用的日志器名称,默认是‘root’)
%(pathname)s,(调用日志记录函数的文件全路径)
%(filename)s,(调用日志记录函数的文件)
%(funcName)s,(调用日志记录函数的函数名)
%(lineno)s,(调用日志记录函数的代码所在行数)
)
3.将日志存入文件
logging.basicConfig(filename ='test.log')
设置日志文件路径
4.高级用法
4.1组件
Loggers (日志记录器 提供程序直接使用的接口)
Handlers (将记录的日志发送指定位置)
Filters (过滤器)
Formatters (格式器)
4.2使用
4.2.1 创建一个Logger
logger = logging.getLogger('%s_log' %__name__)
4.2.2 设置全局日志等级
logger.setLevel(logging.INFO)
4.2.3 创建一个handler对象,用于写入到日志文件
fh = logging.FileHandler('test.log',encoding='utf-8')
4.2.4 设置写入到日志文件的log等级
fh.setLevel(logging.WARNING)
4.2.5 创建一个handler对象,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
4.2.6 设置格式
formatter = logging.Formatter
(格式传入:见上文格式化)
4.2.7 handler格式添加
fh.setFormatter(formatter)
ch.setFormatter(formatter)
4.2.8 添加handler
logger.addHandler(ch)
logger.addHandler(fh)