Как отфильтровать статические журналы в Heroku Papertrail для приложения Django?

Я пытаюсь отфильтровать журналы, связанные со статическими файлами в приложении Heroku/Django.

Основываясь на этом ответе django - как отфильтровать статические и медиа сообщения GET с помощью логирования?

Я добавил следующий фрагмент кода в settings.py

def skip_static_requests(record):
    if record.args[0].startswith('GET /static/'):  # filter whatever you want
        return False
    return True

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        # use Django's built in CallbackFilter to point to your filter 
        'skip_static_requests': {
            '()': 'django.utils.log.CallbackFilter',
            'callback': skip_static_requests
        }
    },
    'formatters': {
        # django's default formatter
        'django.server': {
            '()': 'django.utils.log.ServerFormatter',
            'format': '[%(server_time)s] %(message)s',
        }
    },
    'handlers': {
        # django's default handler...
        'django.server': {
            'level': 'INFO',
            'filters': ['skip_static_requests'],  # <- ...with one change
            'class': 'logging.StreamHandler',
            'formatter': 'django.server',
        },
    },
    'loggers': {
        # django's default logger
        'django.server': {
            'handlers': ['django.server'],
            'level': 'INFO',
            'propagate': False,
        },
    }
}

Я смог отфильтровать статические журналы, но это работает только на localhost.

Как я могу заставить это работать для Heroku Logs и для службы протоколирования, такой как papertrail?

Вернуться на верх