Python日志记录logging模块使用详解

0 下载量 150 浏览量 更新于2024-08-28 收藏 92KB PDF 举报
解读python logging模块的使用方法 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。相比print,logging模块具备如下优点: 1. 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息; 2. print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。 logging框架中主要由四个部分组成: 1. Loggers: 可供程序直接调用的接口 2. Handlers: 决定将日志记录分配至正确的目的地 3. Filters: 提供更细粒度的日志是否输出的判断 4. Formatters: 制定最终记录打印的格式布局 logging模块的使用方法: 1. 基本使用 配置logging基本的设置,然后在控制台输出日志。例如: ``` import logging logging.basicConfig(level=logging.INFO, format='%(asctime)s-%(name)s-%(levelname)s-%(message)s') logger = logging.getLogger(__name__) logger.info("Start print log") logger.debug("Do something") logger.warning("Something may be fail.") logger.info("Finish") ``` 运行时,控制台输出: ``` 2016-10-09 19:11:19,434 – __main__ – INFO – Start print log 2016-10-09 19:11:19,434 – __main__ – WARNING – Something may be fail. 2016-10-09 19:11:19,434 – __main__ – INFO – Finish ``` logging中可以选择很多消息级别,如debug、info、warning、error以及critical。通过赋予logger或者handler不同的级别,开发者就可以只输出错误信息到特定的记录文件,或者在调试时只记录调试信息。 例如,我们将logger的级别改为DEBUG,再观察一下输出结果: ``` import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s-%(name)s-%(levelname)s-%(message)s') logger = logging.getLogger(__name__) logger.debug("Do something") logger.info("Start print log") logger.warning("Something may be fail.") logger.error("Something is wrong.") logger.critical("Something is very wrong.") ``` 运行时,控制台输出: ``` 2016-10-09 19:11:19,434 – __main__ – DEBUG – Do something 2016-10-09 19:11:19,434 – __main__ – INFO – Start print log 2016-10-09 19:11:19,434 – __main__ – WARNING – Something may be fail. 2016-10-09 19:11:19,434 – __main__ – ERROR – Something is wrong. 2016-10-09 19:11:19,434 – __main__ – CRITICAL – Something is very wrong. ``` logging模块还提供了许多其他的功能,如日志文件回滚、日志记录格式的自定义等。logging模块是一个功能强大且灵活的日志记录工具,能够满足大多数开发者的需求。