日志记录变得简单,没有任何调试打印调用的借口。
simplelogging的Python项目详细描述
简单的日志记录
日志记录变得简单,没有任何调试打印调用的借口。
- 自由软件:BSD 3条款许可证
- 文档:https://simplelogging.readthedocs.io。
功能
- 日志管理(调试、信息或错误消息)
- 简单的日志设置
- 基于标准库的python
logging
模块 - 基于colorlog的彩色登录控制台
对于高级用户:
- 提供的记录器是来自
logging
的记录器之一,这意味着可以对其进行配置,以便通过电子邮件、http或https://docs.python.org/3/library/logging.handlers.html中可用的任何选项发送日志消息。 - streamhandler和相关的格式化程序是由
colorlog
提供的。
示例
基本用法
importsimplelogging# log = simplelogging.get_logger(console_level=simplelogging.DEBUG)# log = simplelogging.get_logger(file_name="log.txt")log=simplelogging.get_logger()a_string_variable="hello"an_integer_variable=42a_floating_point_variable=3.14log.debug("some debug")log.info("some info")log.info("some variables: %s, %d, %f",a_string_variable,an_integer_variable,a_floating_point_variable,)log.warning("some warning")log.error("some error")log.critical("some critical error")try:x=1/0exceptZeroDivisionErroraserror:log.exception(error)
请记住,不应该自己设置字符串格式。将格式化委托给simplelogging
(在本例中为logging
),只有在必要时(即消息将被显示时)才会进行格式化。请参阅上面显示变量的示例。
与模块一起使用
示例模块.py
importsimplelogginglog=simplelogging.get_logger()deflog_some_messages():log.debug("## some debug ##")log.info("## some info ##")log.warning("## some warning ##")log.error("## some error ##")
main.py
importexample_moduleimportsimplelogging# log = simplelogging.get_logger(console_level=simplelogging.DEBUG)# log = simplelogging.get_logger(file_name="log.txt")log=simplelogging.get_logger()a_variable="a nice variable"another_variable=42log.error("---- normal logging ----")log.debug("a debug message")log.info("an info")log.warning("a warning")log.error("%s and %d",a_variable,another_variable)log.error("---- example_module writes to the log ----")example_module.log_some_messages()log.error("---- reduced logging (bye debug and info messages) ----")log.reduced_logging()log.debug("a debug message")log.info("an info")log.warning("a warning")log.error("an error")log.error("---- full logging (welcome back debug and info messages) ----")log.full_logging()log.debug("a debug message")log.info("an info")log.warning("a warning")log.error("an error")
结果显示在控制台中
文档中提供了更多示例:https://simplelogging.readthedocs.io。
待办事项
- 添加徽章(覆盖范围…)
- 添加测试
- 添加类型批注
- 添加docstring
- ci中的测试覆盖率测量
- 提交挂钩
- 描述优点/缺点和备选方案
学分
这个包是python标准库中logging包的扩展。控制台的着色依赖于colorlog。
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.9.0(2018-12-14)
- 改进文档
- 添加测试
- 更改API以便于日志级别更改
0.8.0(2018-12-09)
- 改进文档
- 更改默认格式:放大严重错误的级别大小
0.7.0(2018-12-08)
- 修复记录到文件的问题
0.6.0(2018-12-07)
- 控制台上的彩色输出
- 改进的文档
0.5.0(2018-12-02)
- 修复pypi中的自述文件呈现
0.4.0(2018-12-02)
- 修复凹凸配置
0.3.0(2018-12-02)
- pypi上的第一个版本。