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に追加することです(セロリ設定にどちらを使用するかによって異なります)。

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 に答える