Вот мое логическое описание того, что может быть зарегистрировано в приложении и как, почему вы можете захотеть и как вы можете это сделать. Независимо от того, что я бы порекомендовал при реализации использовать каркас журналирования, такой как log4net.
Регистрация исключений
Когда все остальное не удалось, это не должно. Это хорошая идея, чтобы иметь центральное средство захвата всех неупорядоченных исключений. Это не должно
будет намного сложнее, чем завершение всего приложения в гигантской попытке / улове, если только вы не используете больше, чем в потоке. Работа на этом не заканчивается
хотя, потому что, если вы подождете, пока исключение достигнет вас, много полезной информации вышло бы за рамки. По крайней мере, вы должны
попытайтесь собрать определенные части состояния приложения, которые могут помочь с отладкой при разматывании стека. Ваше приложение всегда должно быть готово к созданию такого типа выходных данных журнала, особенно на производстве. Не забудьте взглянуть на ELMAH , если вы еще этого не сделали. Я не пробовал, но я слышал замечательные вещи
Регистрация приложений
То, что я называю журналами приложений, включает в себя любой журнал, в котором содержится информация о том, что ваше приложение делает на концептуальном уровне, например «Удаленный заказ» или «Пользователь вошел в систему». Этот вид информации может быть полезен для анализа тенденций, аудита системы, ее блокировки, тестирования, безопасности и выявления грубых ошибок. Вероятно, было бы неплохо планировать оставить эти журналы также в рабочем состоянии, возможно, с различными уровнями детализации.
Регистрация трассировки
Регистрация трассировки, для меня, представляет собой наиболее детализированную форму регистрации. На этом уровне вы концентрируетесь не столько на том, что делает приложение, а на том, как оно это делает. Это на один шаг выше, фактически проходя код за строкой. Вероятно, это наиболее полезно при решении проблем параллелизма или чего-либо такого, что трудно воспроизвести. Вы не хотели бы всегда запускать это, вероятно, только включая его, когда это необходимо.
Наконец, как и во многих других вещах, которые обычно решаются только в самом конце, лучшее время подумать о ведении журнала - это начало проекта, чтобы приложение могло быть спроектировано с учетом этого. Отличный вопрос!