gpt4 book ai didi

python - 如何在 Django 中禁用来自 Requests 库的日志消息

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:55 29 4
gpt4 key购买 nike

我看到了How do I disable log messages from the Requests library?我想知道,我如何使用 Django 来管理这些设置?本质上,问题是 Requests 库过于冗长,我想将其日志记录级别调整为 warning 甚至 error

我们的日志填充有这些:

INFO - requests.packages.urllib3.connectionpool (_new_conn:735) 
Starting new HTTPS connection (1): www.example.com
INFO - requests.packages.urllib3.connectionpool (_new_conn:735)
Starting new HTTPS connection (1): localhost

这是我当前的 Django 日志记录配置,我认为这是对库过于冗长的修复。但它不起作用。

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': ' '.join(['%(asctime)s', '%(levelname)8s', '- %(name)s',
'(%(funcName)s:%(lineno)d)', os.sep, ' ' * 4, '%(message)s']),
'datefmt': DATEFORMAT,
},
'default': {
'format': ' '.join(['%(asctime)s', '%(levelname)8s', '- %(message)s']),
'datefmt': DATEFORMAT,
},
'syslog': {
'format': ' '.join([PROCTITLE + '[%(process)d]', '[%(levelname)s]', '(%(module)s %(funcName)s:%(lineno)d)',
'- %(message)s']),
'datefmt': DATEFORMAT,
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'null': {
'level': HANDLER_LEVEL,
'class': 'django.utils.log.NullHandler',
},
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler',
},
'console_handler': {
'level': parser.get('logging', 'handler.console.level'),
'formatter': 'verbose',
'class': 'ppcc.lib.logs.TwistedStreamHandler',
},
'default': {
'level': HANDLER_LEVEL,
'formatter': 'syslog',
'class': 'logging.handlers.SysLogHandler',
'address': '/dev/log',
'facility': 20,
},
},
'loggers': {
'django': {
'handlers': ['default'],
'propagate': True,
'level': parser.get_log_level('django'),
},
'django.request': {
'handlers': ['mail_admins', 'default'],
'level': 'ERROR',
'propagate': False,
},
'boto': {
'handlers': DEFAULT_HANDLERS,
'level': 'WARNING',
},
'requests': {
# The requests library is too verbose in it's logging, reducing the verbosity in our logs.
'handlers': DEFAULT_HANDLERS,
'level': 'WARNING',
'propagate': True,
},
'urllib3': {
'handers': DEFAULT_HANDLERS,
'level': 'WARNING',
'propagate': True
},
'cassandra': {
'handlers': DEFAULT_HANDLERS,
'level': 'WARNING',
},
'cqlengine': {
'handlers': DEFAULT_HANDLERS,
'propagate': True,
'level': 'WARNING',
},
'': {
'handlers': DEFAULT_HANDLERS,
'level': LOG_LEVEL,
},
}
}

最佳答案

我相信以下方法会起作用:

import logging
logging.getLogger('requests.packages.urllib3.connectionpool').setLevel(logging.ERROR)

您可以检索现有的记录器并对其进行操作。我同样有一个令人讨厌的子模块,另一个完全关闭它的选择是在记录器上设置 propagate = False

关于python - 如何在 Django 中禁用来自 Requests 库的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34778189/

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