0

问题

如何阻止 New Relic / Celery 不断将以下内容打印到 Heroku 的日志中。

app[scheduler.1]: [INFO/MainProcess] Starting new HTTP connection (1): collector-6.newrelic.com
app[scheduler.1]: [INFO/MainProcess] Starting new HTTP connection (1): collector-6.newrelic.com
app[scheduler.1]: [INFO/MainProcess] Starting new HTTP connection (1): collector-6.newrelic.com
app[scheduler.1]: [INFO/MainProcess] Starting new HTTP connection (1): collector-6.newrelic.com

设置

上述日志条目每分钟出现一次。报告这是一个芹菜工人的应用程序通过Procfile读取(部分)开始:

scheduler: newrelic-admin run-program python manage.py celery worker --loglevel=ERROR -B -E --maxtasksperchild=1000

尽管设置它loglevel似乎ERROR芹菜忽略了这个论点。有趣的是,在我的本地机器上,这个设置是受尊重的。

版本

celery==3.0.12
django-celery==3.0.11
newrelic==1.6.0.13
4

1 回答 1

1

根据 New Relic 支持,临时解决方案是将以下内容添加到您的 settings.py 或 celeryconfig.py(取决于您用于 celery 设置的内容)。

import logging
class RequestsConnectionFilter(logging.Filter):
    def filter(self, record):
        return False
logging.getLogger('newrelic.lib.requests.packages.urllib3.connectionpool').addFilter(RequestsConnectionFilter())

NR 支持人员告诉我,他们计划将这种抑制构建到 Python 代理的未来版本中。

于 2012-11-13T14:41:19.847 回答