logging模块

一、日志级别

日志级别对应的数值
notset0
debug10
info20
warning30 默认级别
error40
critical50

当给logging模块设置一个级别后,当日志级别低于设置的值时,日志消息不会被记录

1.默认设置

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

这里没有显示debug和info,这是因为默认日志级别是warning,所有低于它的级别不显示

2.设置日志级别

这里设置默认级别是INFO。

import logging
logging.basicConfig(level=logging.INFO)

logging.debug('---debug')
logging.info('---info')
logging.warning('---warning')
logging.error('---error')
logging.critical('---critical')

显示结果

INFO:root:---info
WARNING:root:---warning
ERROR:root:---error
CRITICAL:root:---critical

3.日志格式

在上边的结果中可以看出,打印消息的格式是:

日志级别:logger处理器的名字:消息

3.1 日志格式相关变量

变量名含义
%(asctime)s默认时间格式,精确到毫秒
%(message)s日志信息
%(filename)s调用日志输出函数的模块的文件名
%(name)s所使用的日志器名称,默认是’root’,因为默认使用的是 rootLogger

3.2 定义日志格式

format是定义的每行日志的显示格式。datefmt定义的是%(asctime)s 变量显示时间的格式

import logging

log_format = "%(asctime)s %(message)s"
date_format = "%Y-%d-%m %H:%M:%S"

logging.basicConfig(
    level=logging.INFO,
    format=log_format,
    datefmt=date_format
)

logging.debug('---debug')
logging.info('---info')
logging.warning('---warning')
logging.error('---error')
logging.critical('---critical')

4.输出到文件

在basicConfig中传入filename参数

logging.basicConfig(
    level=logging.INFO,
    format=log_format,
    datefmt=date_format,
    filename='./test.log'
)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值