У нас есть приложение на основе Spring 3.0.x, мы используем SimpleMappingExceptionResolver, который отправляет электронные письма об исключении, когда исключение происходит в DispatcherServlet.
Это дает нам следующую гибкость:
- Субъект может включать информацию о том, кто является вошедшим в систему пользователем, чтобы мы могли отправить персонализированное электронное письмо пользователю
- Тема также включает сервер, на котором произошла ошибка
- Параметры запроса, URL запроса и заголовки - помогли нам найти некоторые проблемы при индексации сайта поисковой системой.
Однако в последнее время мы обнаруживаем, что исключения встречаются в фильтрах, и поскольку это не проходит через Resolver, мы не получаем никаких писем.
Решение log4j для работы с электронной почтой очень ограничено, тема не динамическая, она не знает пользователя, вошедшего в систему. Мы просто думаем, что Фильтр предназначен для обработки запросов, поскольку фильтр перехватывает ответ на Исключение, может вызвать нежелательные результаты. По крайней мере, это наше мнение. Пожалуйста, не стесняйтесь комментировать в противном случае.
Существует ли принятая схема для решения этой проблемы.
Отредактировано: нам не нравится решение для приложения электронной почты log4j, и неправильный фильтр для отправки электронных писем кажется правильным.