gpt4 book ai didi

Python logging - 过滤所有记录器的日志消息

转载 作者:行者123 更新时间:2023-12-03 17:08:26 26 4
gpt4 key购买 nike

我有一个项目,其中底层工具正在记录,我也在记录(使用不同的记录器实例)。

但是,有时我无权访问的记录器会暴露我想从日志中删除的信息(或用占位符替换)。

有没有办法可以使用过滤器为 执行此操作?全部 项目中的python记录器?

这是我在 Django 中的日志记录配置:

LOGGING_CONFIG = None
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"my_formatter": {
"format": "[%(asctime)s] %(message)s",
"datefmt": "%d/%b/%Y %H:%M:%S",
},
},
"handlers": {
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "my_formatter",
},
},
"loggers": {
"my_logger": {
"handlers": ["console"],
"level": "DEBUG"
},
},
}

logging.config.dictConfig(LOGGING)

真的,我的最终目标只是通过替换它们来防止某些东西在日志中弹出——如果有其他方法可以做到这一点,请随时分享。

谢谢!

最佳答案

如果您的主要目标是过滤敏感数据,请阅读 Hiding Sensitive Data from Logs with Python .您可以实现 logging.Filter防止记录一些记录或实现 loggingFormatter使用正则表达式仅减少特定记录的部分。

要将过滤器和格式化程序类应用于所有记录器,请在 dict 配置中定义它们并添加到您拥有的所有处理程序中。此外,考虑通过设置 disable_existing_loggers': True 来删除任何未描述的处理程序。 .查看 Django logging docs 中的自定义格式化程序和过滤器示例.

关于Python logging - 过滤所有记录器的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com