use-py / use-logger

一个全局拦截日志并转为loguru日志的插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

一个全局拦截日志并转为loguru日志的插件

Package version Supported Python versions

安装

pip install use-logger

使用

  • 直接使用
from use_logger import useLogger

useLogger()  # 使用默认配置
  • 如果你是usepy用户
from usepy.plugin import useLogger

useLogger()  # 使用默认配置

如果你自身项目正在使用loguru,这一切似乎感觉毫无变化。因为默认的配置只是修改了一点输出样式。

如果想要感受它带来的“魔法”,需要稍微配置一下。

from usepy.plugin import useLogger

useLogger(packages=["scrapy", "django", "usepy"])
Logstash/Filebeat

日志的更重要能力是将日志记录发送到Logstash/Filebeat,这样就可以将日志记录存储到Elasticsearch 中,方便进行日志分析。所以统一日志的最终输出格式是非常重要的。

useLogger内置一个logstash_handler统一化输出格式。

from loguru import logger
from usepy.plugin import useLogger, useLoggerHandlers

useLogger(
    handlers=[
        useLoggerHandlers.logstash_handler(level="DEBUG", extra={"app_name": "spider"})
    ],
    packages=["usepy"],  # hook拦截 usepy 的日志
    extra={"project_name": "usepy"}
)
logger.warning("test warning")
logger.info("test info")
logger.debug("test debug")
Uvicorn/FastAPI

使用 uvicorn 作为 FastAPI 的服务器,那么你可以使用 useLogger 来拦截 uvicorn 的日志。 (如果使用的是 gunicorn, 那么只要指定 classuvicorn.workers.UvicornWorker 即可)

fr

About

一个全局拦截日志并转为loguru日志的插件


Languages

Language:Python 96.4%Language:Makefile 3.6%