Я согласен с теми, кто упомянул ELMAH.
Единственная ошибка в ELMAH заключается в том, что он не может регистрировать исключения, которые происходят вне фактического инициированного пользователем запроса. Поэтому, если вы используете таймеры или у вас много кода, на котором заканчиваются события типа applicationaiton_start, вам придется вручную регистрировать эти исключения. Самое приятное в ELMAH - это то, что он очень прост в настройке и поставляется с пользовательским интерфейсом, так что вы действительно можете просматривать журналы (почему ни один из других регистраторов, кажется, не поставляется с пользовательским интерфейсом, совершенно вне моего понимания).
Log4Net является гораздо более полным решением для ведения журнала, и особенно хорошо, если вы хотите вести диагностическое ведение журнала, информационное ведение журнала или иным образом хотите регистрировать вещи, которые «не являются ошибками». Проще настроить и использовать, чем Enterprise Library.
Компонент журналирования Enterprise Library также популярен, но EntLib также примерно такой же легкий и тонкий, как грузовой поезд, особенно если вы не используете все остальное, что может предложить EntLib.