前言
日常对于一些快速实现功能的程序,常常用print输出,这对于简单的程序当然是可以的.
然而一大问题是,当代码越来越多,print有些输出不希望看到,就会显得十分杂乱.
这时只想关注那些比较重要的日志输出,此时就需要动态调节程序输出的开关,每个输出的信息重要性是不同的
希望根据日志的重要程度过滤输出,此时可以用logging来管理
具体实现
如同示例,初始化配置日志级别,
然后后续输出信息时,可以调用不同的日志输出函数进行输出
因此,可以统一设定日志输出级别,来过滤日志输出.
相比print输出,更加灵活,方便管理,对于大型程序构建非常有用
import logging
logging.basicConfig(level=logging.CRITICAL,format="%(asctime)s-%(levelname)s-%(message)s",handlers=[
logging.FileHandler("app.log"), # 写入文件
logging.StreamHandler() # 输出到控制台
])
# #重设日志级别
# logging.getLogger().setLevel(logging.CRITICAL)
# #关闭特定模块日志,也可通过此项批量关闭自定义模块日志
# logging.getLogger("requests").setLevel(logging.CRITICAL)
# #禁用log级别低者不显示
# logging.disable(logging.CRITICAL)#恢复logging.disable(logging.NOTSET)
# #移除日志处理器
# logging.getLogger().handlers.clear()
#输出不同级别的日志
logging.debug("debug显示")
logging.info("info显示")
logging.warning("warning显示")
logging.error("error显示")
logging.critical("critical显示")