日志记录变得简单,没有任何调试打印调用的借口。

simplelogging的Python项目详细描述


简单的日志记录

PyPITravisReadTheDocs

日志记录变得简单,没有任何调试打印调用的借口。

功能

  • 日志管理(调试、信息或错误消息)
  • 简单的日志设置
  • 基于标准库的pythonlogging模块
  • 基于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)

quickstart result

请记住,不应该自己设置字符串格式。将格式化委托给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")

结果显示在控制台中

quickstart with modules result

文档中提供了更多示例:https://simplelogging.readthedocs.io

待办事项

  • 添加徽章(覆盖范围…)
  • 添加测试
  • 添加类型批注
  • 添加docstring
  • ci中的测试覆盖率测量
  • 提交挂钩
  • 描述优点/缺点和备选方案

学分

这个包是python标准库中logging包的扩展。控制台的着色依赖于colorlog

这个包是用Cookiecutteraudreyr/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上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java遍历数组并检查项的值   在名为“”的DispatcherServlet中找不到URI为[/api/encodedurl]的HTTP请求的java映射   java如何在所有JUnit测试中集成Spring Instrument javaagent   java从Axis2生成的存根获取端点URL   使用Gson从JSON转换为POJO的java问题   java如何在安卓中循环声音   java客户端中的elasticsearch geohash方面   我想用Java从右向左打印*请提供输入   java在安卓中上传一个或多个图像   调试如何在Netbeans中调试Java Web应用程序?   创建2个单例Java类实例   java Android Studio:膨胀类片段时出错(加载活动\主UI时程序崩溃)   来自javajarmyapp的命令行。jar选项到myApp选项   java调用setLocationEnabled在另一个按钮中