python的logging模块
0. 基础用法
0.1 直接使用
引入logging后便可以直接打印日志了,但默认的过滤级别是WARNING,因此只有WARNING及以上的才会被输出。
可以使用 logging.basicConfig(level=logging.INFO)
设置级别为 INFO
。
但这样
import logging
logging.error('这里是错误级别的日志')
# ERROR:root:这里是错误级别的日志
# 其中的root是默认的logger名
0.2 开始使用logger
logger = logging.getLogger(__name__)
logging.basicConfig(filename='myapp.log', level=logging.INFO)
logger.info('xxx')
1. 主从日志模式
logging.getLogger('xxx') # 声明一个logger
logging.getLogger('xxx.yyy') # 会继承上一个logger,内容也会同时往父logger写
2. 同一个logger多个输出流
这可实现日志既在控制台输出,同时又保存到文件,且两个输出可以设置不同的过滤级别和格式。
# 文件输出句柄
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.INFO)
# 控制台输出句柄
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
# 设置两个输出流的格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 将两个句柄加添到logger
logger.addHandler(fh)
logger.addHandler(ch)
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2022-09-28 浅谈学习方法
2020-09-28 Java开发之配置jdk