Python日志记录logging模块使用详解
PDF格式 | 92KB |
更新于2024-08-28
| 86 浏览量 | 举报
解读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模块是一个功能强大且灵活的日志记录工具,能够满足大多数开发者的需求。
相关推荐

132 浏览量









weixin_38591291
- 粉丝: 6
最新资源
- 建筑旋流式排水汇集器:创新设计与应用
- 用MATLAB打造功能齐全的私人音乐播放器
- GraceViewPager:修复Android ViewPager常见问题及动态刷新解决方案
- Python3.7.2中GDAL库操作Shapefile教程
- 解决EasyUI弹窗拖拽越界问题的JavaScript代码
- 待办事项应用程序服务器端API的设计与实现
- 建筑排水汇集器的设计原理与应用分析
- Oracle基础教程:自学指南与代码实践
- GNU glibc-linuxthreads压缩包介绍与解析
- 使用mobx-react-router实现MobX与react-router状态同步
- Wireshark:网络抓包分析利器
- 个性化Android壁纸管理应用Just Like开发分享
- 易语言实现VLC面板窗口复制组件教程
- RecyclerView添加头部和尾部视图的示例教程
- React项目PGP Messenger客户端开发指南
- 建筑物风洞型风力发电机的设计与应用