用于加快应用程序日志配置的简单、健壮的功能
prolog的Python项目详细描述
简化和加速Python日志记录的工具和方便方法
- 普通用例的简单(尽管固执己见)设置
- 可通过用户和本地文件以及环境变量进行广泛而轻松的配置
- 带有功能齐全的格式化程序和处理程序,也可以使用 在正常的logging情况下
用法
basic_config
开始使用prolog的最简单方法是在 申请代码:
import prolog prolog.basic_config()
这将为默认级别配置root记录器logging.INFO 并设置两个处理程序:一个彩色的控制台流处理程序,以及一个文件 处理程序设置为记录到主应用程序目录中的默认文件-pypro.log。
若要指定在应用程序或库代码中定义的选择记录器,请传递 所需记录器的逗号分隔名称:
prolog.basic_config('myapp,another_app')
basic_config接受以下参数:
- loggers
- 要配置的所需记录器;可以是逗号分隔的 记录程序名称的字符串、实例的列表Logger或None 对于根记录器。
- level
- 指定所有记录器和处理程序的日志记录级别。可以是 所需级别的数值或字符串名称。
- handlers
- 要添加到给定loggers;的处理程序可以是逗号分隔的 快捷方式名称字符串(默认为“stream”或“file”)或列表 第Handler个实例。
- propagate
- 指示是否将每个logger实例设置为propagte。
- reset_handlers
- 如果为true,则强制重置当前配置的所有处理程序。
- cfg
- 要使用的prolog.config.PrologConfig实例。如果不给, 将使用默认值(prolog.config.config)。为所有人 前面的参数除了loggers设置为none(默认值)之外, cfg将用于确定适当的设置。
示例
安装后,可以调用prolog来显示配置设置或 示例用法:
$ python -m prolog sample --level=DEBUG basic
通过环境变量设置颜色:
$ export PYPROLOG_LEVEL_COLORS='CRITICAL:white,red;ERROR:lightred;DEBUG:lightgray,cyan;*:gray,gray' $ python -m prolog sample --level=DEBUG basic
开发和测试
$ pip install invoke $ inv develop $ inv test
配置
prolog可以通过许多不同的选项进行配置:
- 用户级配置文件,使用appdirs确定用户的 配置目录加上pyprolog/config,它必须是json编码的 包含字典的文件覆盖下面列出的任何默认值
- 当前工作目录配置文件.pyprologrc,也是json
- 环境变量,请参见下文
- 操作默认的prolog.config.config实例或实例化 您自己的
- 通过prolog.config.dict_config 生成logging.config.dictConfigdict
默认值
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