ASP.NET MVC: доступ к журналам - PullRequest
4 голосов
/ 25 января 2009

На веб-сайте ASP.NET MVC, каков наилучший способ ведения журналов доступа? Я хочу ответить на следующие вопросы:

  1. Какие страницы наиболее популярны?
  2. К каким страницам обращались за последние 24 часа?
  3. и т.д.

Я мог бы войти на сервер с помощью удаленного рабочего стола и самостоятельно просматривать журналы IIS (даже с помощью Microsoft Logfile Parser), но я хотел бы иметь возможность запускать отчеты со страниц администратора мой сайт.

Какой лучший способ сделать это? Должен ли я:

  1. Добавить трассировку ко всем моим методам контроллера?
  2. Добавить IHttpFilter (или что-то еще) и сделать это ведение журнала?
  3. Настроить IIS (IIS7 в Windows 2008) для входа в таблицу в моей базе данных, а затем определить отображение NHibernate для этой таблицы?
  4. Что-то еще?

Ответы [ 4 ]

2 голосов
/ 25 января 2009
0 голосов
/ 07 февраля 2009

У меня логирование строго на стороне сервера. Вам нужно выполнить некоторый клиентский код для подсчета перезагрузок кэша и тому подобное. Вот почему все современные веб-аналитики (такие как Google Analytics и т. Д.) Также имеют часть кода на стороне клиента.

Кэш вывода также может быть проблемой при ведении журнала, если вы не вставили модуль HttpModule перед модулем кэша вывода и т.

0 голосов
/ 26 января 2009

Почему бы просто не использовать [Google Analytics]? (http://www.google.com/analytics/) На мой взгляд, гораздо более простой способ получить эту статистику. Кроме того, вы получите массу бонусной информации. Не говоря уже о том, что у вас есть доступ к ней в любой точке мира.

0 голосов
/ 26 января 2009

Ответ Себастьяна, конечно, неплохой (с положительным голосом), однако, он повторно реализует функциональность, уже доступную в IIS. Ведение журнала IIS, вероятно, будет работать лучше, чем что-то доморощенное. (Например, он будет регистрировать материал, который не проходит через стек MVC.) По этой причине я бы предпочел использовать что-то вроде вашего варианта 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...