Приветствую.
Есть программа. Со всякой кучей потоков и ветвлений. Пытаюсь логгировать (log4net), но каждый раз получается так, что надо идти пошагово до ошибки, ибо ошибка может быть не рядом с эксепшеном.
Возникла у меня мысль1: логгируем всё. Абсолютно всё. Пусть это будет замедлять работу программы, но результат, по-моему, того стоит. По крайней мере в режиме дебаг.
Вопрос: есть ли какие-то средства (например, к тому же log4net), чтобы так настроить логгирование? (Если пользоваться log4net, то не охото в каждую функцию вставлять строчки логгирования.)
А потом возникла мысль2: это ведь существенно поможет и со сбором ошибок от пользователей. Например: прога пишет все свои операции. Вдруг прилетает эксепшен. Так она отправляет мне (например, по почте), весь ход процесса до этой ошибки в этом потоке. Может не весь, а какие-то "верхушки", а я, если посмотрев лог, решу, что данных не достаточно, запрошу детализацию.
Имеет смысл так делать или сейчас принято не так?
Спасибо.