光谱-python 是一个用于 Spectrum (devspectrum.com) 的 Python 记录处理程序
项目描述
概述
Spectrum 是一个帮助开发者筛选和检查本地开发或调试过程中的日志的应用程序。它通过 REST API、syslog 或设置为跟踪本地文件来接受记录信息。所有这些记录源都可以根据开发者的当前需求轻松显示或隐藏。
此 Python 包使得将 Python 和/或 Django 的记录推送到 Spectrum 变得非常简单。
Python
为 Spectrum 安装 Python 支持与以下步骤一样简单
$ pip install spectrum-python
设置记录处理程序也非常简单
import logging from spectrum.handlers import Spectrum logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) spectrum = Spectrum('my-logging-sublevel') logger.addHandler(spectrum) for i in range(5): logger.info("This would be sent as INFO.my-logging-sublevel") logger.warn("This would be sent as WARNING.my-logging-sublevel") logger.debug("This would be sent as DEBUG.my-logging-sublevel")
选项
url
要使用的 REST API 的 IP 地址和端口号。默认为 ‘http://0.0.0.0:9000’。如果您使用多个 REST API 流,则必须将其覆盖为与您的流关联的正确 Spectrum 端口。
sublevel
为该处理程序可选的子级别。如果未提供,默认为 Spectrum UI 中的 ‘<untitled>’。
Django
要将您的 Django 项目的所有记录定向到 Spectrum,您可以在设置中使用预定义的 FIRE_HOSE 记录配置
# settings.py from spectrum.django import FIRE_HOSE LOGGING = FIRE_HOSE
如果您使用 celery,则需要添加一个额外的设置
CELERYD_HIJACK_ROOT_LOGGER = False
您还可以使用 fire_hose 便利方法快速修改任何预构建的记录配置字典
from spectrum.django import fire_hose LOGGING = fire_hose() LOGGING = fire_hose(log_db=False) LOGGING = fire_hose(levels=( ('my.overly.verbose.module', 'WARNING'), ('some.other.module', 'CRITICAL'), ) LOGGING = fire_hose(handler_kwargs={'url': '127.0.0.1:12345'})
如果您更喜欢更细粒度的方法,您可以为特定的处理程序进行配置
# settings.py LOGGING = { ... 'filters': { 'request_id': { '()': 'spectrum.filters.RequestIdFilter' } }, 'handlers': { 'myloggername': { 'level': 'DEBUG', 'class': 'spectrum.handlers.RestSpectrum', 'sublevel': 'myloggername', 'filters': ['request_id'] } } }
确保您包括 request_id 过滤器以过滤掉光谱自身的请求与其他请求。否则,Python 将记录光谱的请求,而这些日志又会生成自己的光谱请求,导致无限递归。
项目详情
关闭
spectrum-python-0.9.8.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6858ac46b2a11533e247d3636435779fbb0bf69bcb1c3f88cb524101548ac2dd |
|
MD5 | 458029d7a8461d15badf6f14ad8b754e |
|
BLAKE2b-256 | b2eb4d32e1e06fc76f40606533a4397076fa329b229b63d157ae5a5e7619a800 |