跳转到主要内容

使用logging.yml文件进行易于使用的日志配置。

项目描述

概述

libranet_logging 是一个易于使用的日志配置工具,从logging.yml文件中读取日志记录器、处理程序、过滤器及格式化程序的配置。

概述链接

为什么使用日志?

日志文件是您的最佳伙伴

  • 在开发过程中,调试模式是开发模式

  • 更重要的是:在PRD运行时,它显示了应用程序是如何被使用的,由谁使用,以及如果成功——允许采取主动措施。无需等待用户提交的bug报告。

  • 最重要的是:在PRD的紧急故障排除(又称恐慌模式)中——海森堡虫,难以复现。

libranet_logging的目标

使启用并正确使用python日志框架的全部功能尽可能简单

python日志模块包含
  • 记录器,分层

  • 处理程序 - 格式化程序 - 过滤器

将记录器视为消息通道,处理程序视为通道的订阅者

最小化修改代码的需求

将所有配置移出代码,放入配置文件“logging.yml”

  • 将日志记录到文件应该像
    >>> import logging
    >>> logging.getLogger('panicmode')
    

特性

变更日志

1.3 (2023-01-24)

  • 不再尝试智能地处理交互模式或非交互模式。您可以通过设置环境变量LOG_HANDLERS来设置活动日志处理器

  • libranet_logging.initialize()的输入参数中移除disable_console

  • 将默认分隔符从;更改为|。使用环境变量LOG_HANDLERS设置

1.2 (2021-06-06)

  • 修复徽标。[WVH]

  • 添加.gitlab-ci.yml [WVH]

1.1 (2020-02-13)

  • 修复错误ModuleNotFoundError: No module named 'libranet_logging.version'。[WVH]

1.0 (2020-02-12)

  • __version__属性移动到__init__。[WVH]

  • 从WVH未发布的包中分叉的libranet_logging包。[WVH]

0.5 (2019-08-19)

  • 添加文档字符串和类型提示。

  • 修复了pylint报告的一系列问题。

  • 更改libranet_logging.yaml.read_yml的函数签名:将vars更改为variables,以避免覆盖内置的vars()函数

    >>> config = read_yaml(path, vars=None)
    >>> config = read_yaml(path, variables=None)

0.4 (2019-07-31)

  • 添加version.py,包含__version__属性,并重新设计版本管理。

  • setup.py中设置cerberus的最低要求为>=1.3.1。[WVH]

0.3 (2019-05-28)

  • 在sphinx-docs中,添加到https://example.com/docs/libranet_logging-coverage的链接。[WVH]

  • Makefile中添加步骤“copy-cov”,将覆盖率报告复制到apache-web目录。[WVH]

  • libranet_logging.yaml.read_yaml中,如果未提供,将默认变量设置为空字典。[WVH]

  • libranet_logging.logconfig.logging_schema中将valueschema重命名为valuesrules,以避免DeprecationWarnings。[WVH]

0.2 (2019-03-28)

  • 使libranet_logging.yaml.read_yaml与PyYAML 5.1兼容,但保持与旧版本的向后兼容。[WVH] 参考

    - https://github.com/yaml/pyyaml/blob/master/CHANGES
    - https://github.com/yaml/pyyaml/pull/257
    - https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation

0.1 (2019-03-28)

  • 在logging.yml中添加对简单字符串格式的支持。[WVH]

  • 使用isort管理导入。将isort配置添加到setup.cfg。[WVH]

  • 引入环境变量PYTHON_CONSOLE_FORMATTER以选择要使用的控制台格式化程序。[WVH]

  • colored-控制台格式化程序重命名为console_color,并添加console_bw-格式化程序以在控制台中进行简单的黑白日志记录。[WVH]

  • 在默认的logging.yml中添加flask_wtf处理器。[WVH]

  • 如果日志目录尚不存在,我们现在将创建它。[WVH]

  • 我们应该有一个用户特定的默认位置以避免用户之间的干扰。日志目录将首先从直接函数参数中获取,然后从存在的logging.yml中获取。如果不存在,则从环境变量PYTHON_LOG_CONFIG中获取,如果没有环境变量,则默认为$HOME/logs而不是var/tmp/python。[WVH]

  • 通过initialize函数支持设置日志目录。[WVH]

  • 修复失败的测试 test_initialize_without_logging_tree。当环境变量 PYTHON_ENABLE_LOGGING_TREE 未设置时,该测试会失败。[WVH]

  • 修复 click 命令 cli.print_logging_tree 的失败测试。[WVH]

  • 添加新的测试依赖 pytest-click。[WVH]

  • cli.print_logging_tree 转换为接受可选 path 参数的 click 命令。如果环境变量 PYTHON_LOG_CONFIG 已设置,则使用该值作为路径默认值。[WVH]

  • 添加新的依赖 click。[WVH]

  • 添加有关单元测试的文档。[WVH]

  • 我们现在支持环境变量中的数组。包含 ; 的环境变量现在被转换为与默认值相似的列表,如果该环境变量未设置的话。[WVH]

  • 修复 filters.RegexFilter 以使用 search() 代替 match()。参考 https://docs.pythonlang.cn/3/library/re.html#search-vs-match [WVH]

  • 添加通过单元测试。[WVH]

  • initialize() 中允许以路径参数作为输入,而不是仅接受字符串路径。[WVH]

  • 在加载具有模式错误的 logging.yml 时,通常使代码更加健壮。[WVH]

  • 添加控制台入口点 libranet-logging-print-logging-tree 来初始化日志并将日志树打印到标准输出。在新的 libranet_logging.cli 模块中添加相应的函数。[WVH]

  • logconfig.show_logging_tree 添加函数参数 use_print=False 以启用将输出打印到标准输出而不是记录到配置的日志记录器。[WVH]

  • 如果我们调用 initialize() 而不提供路径或设置环境变量 PYTHON_LOG_CONFIG,我们现在使用此 libranet_logging-包中提供的默认 logging.yml。[WVH]

  • 将记录器 libranet_logging 添加到我们的默认 logging.yml。[WVH]

  • 使用 __name__ 实例化正确的记录器,而不是记录到根记录器。[WVH]

  • 添加 recommonmark 并更新 docs.conf.py 以允许文档中使用 markdown。参考 https://recommonmark.readthedocs.io/en/latest/[WVH]

  • setup.pydocs/pip-requirements 中添加与 Sphinx 相关的依赖项。[WVH]

  • 简化公共 API

    • 将函数 loglevel.create_loglevel 重命名为 loglevel.create

    • 将函数 logconfig.initialize_logging 重命名为 logconfig.initialize

    [WVH]

  • 在代码上运行 BlackBlack 是一个 Python 代码格式化工具。参考 https://github.com/ambv/black [WVH]

  • 添加一些基于 Sphinx 的基本文档。[WVH]

  • 将创建新日志级别提取到其自己的 loglevel-模块中。[WVH]

  • 将日志过滤器提取到其自己的 filters-模块中。[WVH]

  • 添加第三方依赖项 colorlog。这不是代码依赖项,而是 logging.yml 的依赖项。[WVH]

  • 添加第三方依赖项 cerberuslogging_treePyYAML。[WVH]

  • 将与日志相关的代码从 libdl.utils 移动到其自己的 libranet_logging-包中。[WVH]

  • 通过 cookiecutter templates/cookiecutter-libranet-python-package 创建的包。[Wouter Vanden Hove <wouter@wvhconsulting.org>]

贡献者

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

libranet_logging-1.3.tar.gz (86.0 kB 查看哈希值)

上传时间

由以下支持