首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Loguru默认值+和额外信息?

如何使用Loguru默认值+和额外信息?
EN

Stack Overflow用户
提问于 2022-02-03 19:27:11
回答 1查看 3.9K关注 0票数 8

我还在重复罗古鲁的事,但我找不到一个简单的方法。我想使用Loguru的默认选项,我相信它们很棒,但是我想向它添加信息,我想添加将被记录的请求的IP。

如果我试试这个:

代码语言:javascript
复制
import sys
from loguru import logger
logger.info("This is log info!")
# This is directle from Loguru page
logger.add(sys.stderr, format="{extra[ip]} {extra[user]} {message}")
context_logger = logger.bind(ip="192.168.0.1", user="someone")
context_logger.info("Contextualize your logger easily")
context_logger.bind(user="someone_else").info("Inline binding of extra attribute")
context_logger.info("Use kwargs to add context during formatting: {user}", user="anybody")

它记录了这一点:

我知道,使用logger.remove(0),我将删除默认日志,但我希望使用它获得如下内容:2022-02-03 15:16:54.920 | INFO | __main__:<module>:79 - XXX.XXX.XX.X - Use kwargs to add context during formatting: anybody,其中XXX.XXX.XX.X是IP。使用默认配置(用于颜色和其他内容),并向格式中添加一个小内容。

我正在尝试访问默认的信任,但我一直无法导入它们并在logger.add中使用它们。我想我必须从头开始配置所有的东西。

希望有人能帮我谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-06 14:13:00

我在Github储存库中提出了同样的问题,这是Delgan (Loguru维护者)的回答:

我认为您只需要使用包含额外信息的自定义格式来add()您的处理程序。下面是一个示例:

代码语言:javascript
复制
logger_format = (
    "<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | "
    "<level>{level: <8}</level> | "
    "<cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> | "
    "{extra[ip]} {extra[user]} - <level>{message}</level>"
)
logger.configure(extra={"ip": "", "user": ""})  # Default values
logger.remove()
logger.add(sys.stderr, format=logger_format)

附加:如果要使用跟踪级别,则在添加配置时使用此方法:

logger.add(sys.stderr, format=logger_format, level="TRACE")

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70977165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档