跳转到主要内容

为加快应用日志配置而提供简单、健壮的功能

项目描述

工具和方便的方法,用于简化并加快Python日志。

  • 简单 - 虽然有偏见 - 的设置,适用于常见用例

  • 通过用户和本地文件以及环境变量进行广泛且易于配置

  • 附带全功能的格式化程序和处理器,也可用于正常的 logging 场景

使用说明

basic_config

开始使用 prolog 的最简单方法是将其添加到您的应用程序代码中

import prolog
prolog.basic_config()

这将配置默认级别 logging.INFOroot logger,并设置两个处理器:一个彩色控制台流处理器,以及一个设置为记录到主应用程序目录中默认文件 pypro.log 的文件处理器。

要指定应用程序或库代码中定义的选定logger,请传递所需logger的逗号分隔名称

prolog.basic_config('myapp,another_app')

basic_config 接受以下参数

loggers

要配置的所需logger;可以是logger名称的逗号分隔字符串、Logger实例的列表,或为root logger传递 None

level

指定所有logger和handler的日志级别。可以是所需级别的数字值或字符串名称。

handlers

要将处理程序添加到指定的 loggers 中;可以是一个以逗号分隔的快捷名称字符串(默认为“stream”或“file”)或 Handler 实例的列表。

propagate

表示是否将每个 logger 实例设置为可传播。

reset_handlers

如果为 True,则强制重置所有当前配置的处理程序。

cfg

要使用的 prolog.config.PrologConfig 实例。如果没有提供,则使用默认值(prolog.config.config)。对于所有先前的参数,除了设置为 None(默认值)的 loggers,将使用 cfg 来确定适当的设置。

示例

安装后,可以使用 prolog 演示配置设置或示例用法。

$ python -m prolog sample --level=DEBUG basic
https://raw.githubusercontent.com/dakrauth/prolog/master/resources/basic-output.png

通过环境变量设置颜色

$ export PYPROLOG_LEVEL_COLORS='CRITICAL:white,red;ERROR:lightred;DEBUG:lightgray,cyan;*:gray,gray'
$ python -m prolog sample --level=DEBUG basic
https://raw.githubusercontent.com/dakrauth/prolog/master/resources/env-color-output.png

开发和测试

$ pip install invoke
$ inv develop
$ inv test

配置

Prolog 可以通过多种不同的选项进行配置。

  • 用户级配置文件,使用 appdirs 确定用户的配置目录加上 pyprolog/config,它必须是一个包含覆盖以下任何默认值的 JSON 编码文件。

  • 当前工作目录配置文件 .pyprologrc,也是 JSON 格式。

  • 环境变量,见下文

  • 操作默认的 prolog.config.config 实例或创建自己的实例

  • 通过 prolog.config.dict_config 生成 logging.config.dictConfig 字典

默认值

LEVEL = 'INFO'
SHORT_FMT = "{levelname}:{name} {message}"
LONG_FMT = '[{asctime} {name}:{levelname}:{module}:{lineno}] {message}'

COLOR_LONG_FMT = '{color}[{asctime} {name}:{levelname}:{module}:{lineno}]{endcolor} {message}'
COLOR_SHORT_FMT = '{color}{levelname}:{name}{endcolor} {message}'
LEVEL_COLORS = 'DEBUG:magenta;INFO:blue;WARNING:yellow;ERROR:red;CRITICAL:white,red'

DATE_FMT = "%Y-%m-%dT%H:%M:%S"
STYLE_FMT = '{'

HANDLERS = 'stream,file'
PROPAGATE = False
DISABLE_EXISTING = True
RESET_HANDLERS = True

STREAM_LEVEL = 'NOTSET'
STREAM_FORMATTER = 'color'
STREAM_STREAM = 'sys.stderr'

FILE_LEVEL = 'NOTSET'
FILE_FORMATTER = 'long'
FILE_FILENAME = 'pypro.log'
FILE_MAX_BYTES = 0
FILE_BACKUP_COUNT = 0

环境

默认情况下,prolog.config.config 实例将加载任何以 PYPROLOG_ 开头并以以下列出的任何默认值结尾的环境变量。例如,要覆盖默认的日志级别,在执行应用程序代码之前执行以下操作

$ export PYPROLOG_LEVEL='DEBUG'
$ python myapp.py

项目详情


下载文件

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

源分布

prolog-0.3.1.tar.gz (12.2 kB 查看哈希值)

上传时间

构建分布

prolog-0.3.1-py3-none-any.whl (13.9 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面