Я не думаю, что есть лучший фреймворк / инструмент или стандартный способ в ASP.net MVC. Просто сделайте это так, как в любой другой среде. Когда я настраиваю ведение журнала, я обычно думаю о нем как о ресурсе, доступном для остальной части приложения, а не как привязанный к определенному уровню. Это часто встречается, и на самом деле ведение журнала является стандартным примером, приведенным при представлении Аспектно-ориентированного программирования. См:
В зависимости от того, что именно вы пытаетесь зарегистрировать, рассмотрите возможность использования фильтров действий ; отличный способ регистрировать, какие запросы к страницам делаются и для обработки ошибок. Приложения не-MVC asp.net обычно делают что-то в global.asax, как указано здесь . Фактически, даже если вы используете фильтры действий, которые я бы предложил, также включите некоторую базовую обработку ошибок в событие application_error global.asax; если произойдет что-то действительно безумное, оно будет срабатывать чуть более надежно, чем фильтры действий.
Кроме этого, позвоните в ваш ресурс журналирования в тот момент, когда происходит интересный для вас материал. БД или Файл? Либо работает, и, если он инкапсулирован в один или два хороших метода, вы всегда можете переключиться позже.