Можно ли использовать DjExperExceptionReporterFilter с чем-то другим, чем AdminEmailHandler?

Я пытаюсь отфильтровать конфиденциальную информацию, используя Django @sensitive_post_parameters . Я думал, что добавление этих аннотаций по нескольким конкретным функциям будет достаточно, но это не сработает. Я установил SafeExceptionReporterFilter останова в SafeExceptionReporterFilter и она только ломается при вызове из AdminEmailHandler а не других обработчиков. Что мне не хватает?

2 Solutions collect form web for “Можно ли использовать DjExperExceptionReporterFilter с чем-то другим, чем AdminEmailHandler?”

Даже если вы используете SafeExceptionReporterFilter , исключения по-прежнему будут содержать конфиденциальные данные (например, переменные ENV вашего сервера и другие данные времени исполнения).

Чтобы не подвергать уязвимые данные, вы не должны использовать этот фильтр. Вместо этого напишите свое собственное промежуточное ПО Exception Handler и выборочно (рекурсивно?) Извлеките нужные данные в журналах.

См. sys.exc_info о том, как получить sys.exc_info исключения и как ее использовать для ваших нужд.

Даже если вы перейдете с помощью CustomHandler, вы будете ограничены определенным обработчиком, и, насколько мне известно, сторонние обработчики не будут использовать SafeExceptionReporterFilter .

Вы можете написать собственный обработчик, который использует django.views.debug.ExceptionReporter для форматирования исключения.

Пример использования ExceptionReporter :

 from django.views.debug import ExceptionReporter # exc_type, exc_value, traceback are a standard exception # tuple as returned by sys.exc_info reporter = ExceptionReporter(request, exc_type, exc_value, traceback) html_report = reporter.get_traceback_html() text_report = reporter.get_traceback_text() 

ExceptionReporter будет использовать ExceptionReporterFilter определяемый параметром DEFAULT_EXCEPTION_REPORTER_FILTER который по умолчанию – SafeExceptionReporterFilter .

Посмотрите на реализацию AdminEmailHandler , чтобы получить информацию о том, как создать пользовательский Handler .

  • Журналы сообщений отображаются дважды в консоли Python
  • Использование CookieJar в Python для входа на веб-сайт из «Google App Engine». Что здесь не так?
  • разница в механизме регистрации: API и приложение (python)
  • Журналы Heroku для проектов Django пропускают ошибки
  • Регистрация Django на Heroku
  • В чем преимущества использования syslog по сравнению с другими системами ведения журнала?
  • gnuplot против Matplotlib
  • Журналы Django: любое руководство для входа в файл
  • Python - лучший язык программирования в мире.