gpt4 book ai didi

python - 过滤掉特定的 Python 日志消息

转载 作者:行者123 更新时间:2023-12-05 07:57:13 26 4
gpt4 key购买 nike

是否可以防止将特定消息写入Django 日志文件?我读过 Django 记录器文档,他们只处理过滤 Django 类的错误。

我想防止写入我的日志文件的错误是这样的:

[19/Dec/2014 12:21:21] INFO [requests.packages.urllib3.connectionpool:171] Starting new HTTP connection (1): api.wurflcloud.com

我的 Django 日志记录配置如下所示。

谢谢

# settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'null': {
'level':'DEBUG',
'class':'django.utils.log.NullHandler',
},
'logfile': {
'level':LOG_LEVEL,
'class':'logging.handlers.RotatingFileHandler',
'filename': '/var/log/myproj/myproj.log',
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'database_logfile': {
'level':LOG_LEVEL,
'class':'logging.handlers.RotatingFileHandler',
'filename': '/var/log/myproj/database.log',
'maxBytes': 50000,
'backupCount': 2,
'formatter': 'standard',
},
'console':{
'level':LOG_LEVEL,
'class':'logging.StreamHandler',
'formatter': 'standard'
},
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
# Only send emails when DEBUG = False
#'filters': ['require_debug_false'],
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'WARN',
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
'django.db.backends': {
'handlers': ['database_logfile'],
'level': 'DEBUG',
'propagate': False,
},
'': {
'handlers': ['console', 'logfile', 'mail_admins'],
'level': 'DEBUG',
},
}
}

最佳答案

Python logging 包不支持按消息内容过滤,只能按消息记录器和消息级别过滤。

解决这个问题的两种潜在方法是

  • Monkey-patch 违规函数并将其替换为您自己的不会产生给定消息的版本(函数位于 requests.packages.urllib3.connectionpool:171)

  • 编写您自己的日志记录处理程序,它可以根据内容过滤日志消息(非常繁重的方法只是为了摆脱一条消息)

也可以尝试作为长期解决方案

  • requests 包社区沟通,解释您的问题,寻求合作并编写补丁来修复库,以便在未来的版本中可以轻松摆脱特定消息<

关于python - 过滤掉特定的 Python 日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575535/

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