Я начинаю новый проект, приложение для конечного пользователя. Я обеспокоен тем, что произойдет, если (хорошо, когда) конечный пользователь получит необработанное исключение.
Попросить пользователя помочь мне воспроизвести ошибку не является приемлемым вариантом.
На мой взгляд, у меня есть один вариант: загрузить отчет об ошибке на мой сервер.
Несколько лет назад, когда я был разработчиком на Delphi, мне мог бы помочь отличный инструмент под названием madExcept, но я не могу найти аналогичный инструмент в .Net framework. Так что я думаю, что я должен сделать свой собственный.
Вот моя идея
Используйте лог-фреймворк и напишите несколько
хорошо продуманные записи журнала, не слишком
много или мало. Просто войдите в память,
лучшая производительность и мне не нужно
файл. Ограничьте размер журнала до 100 КБ.
Используйте AOP для регистрации параметров и возврата значений во всех методах, кроме тех, которые находятся в жестком цикле, поскольку это загромождает журнал и приводит к плохой производительности. Это вопрос, в котором я действительно не уверен, глупо ли это делать на производстве? Хотя выгода кажется очень привлекательной. Я думаю, что я должен быть в состоянии воспроизвести исключение в гораздо большем количестве случаев, чем при наличии только трассировки стека и журнала. Также это будет записано в память и ограничено чем-то вроде 200 КБ.
Поймать все необработанные исключения, здесь я буду загружать два журнала и трассировки стека на мой сервер.
Как вы думаете, это будет работать? Есть ли лучший способ?
Спасибо