Регистрация в ASP.NET - лучшие практики

Каков наилучший способ записи минимальных журналов ошибок на веб-странице ASP.NET 2.0 или в веб-службе? Для моих целей было бы лучше, если бы это была ваниль, и реализация будет работать через виртуальные каталоги IIS. В настоящее время я использую стандартный TextWriterTraceListener, но он, похоже, не пишет в виртуальный каталог.

FYI - следующая конфигурация TextWriterTraceListener:

<system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData=".\VirtualDirectory\SomeLog.log" />
      </listeners>
    </trace>
  </system.diagnostics>

Я ценю вашу помощь!

Ответы

Ответ 1

Вы можете попробовать log4net framework. Это очень мощная среда регистрации .NET с открытым исходным кодом. Взгляните на веб-сайт Log4net

Ответ 2

Вы действительно должны посмотреть на log4net. См. этот вопрос Это может показаться вам больше, чем вам нужно прямо сейчас, но как только вы приобретете его как часть своей архитектуры, он будет доступен и готов, когда вам это нужно.

Ответ 3

Если вы ищете только регистрацию исключений, которые возвращают пользователя, попробуйте ELMAH:

http://code.google.com/p/elmah/

С другой стороны, если вы хотите отслеживать активность в своем приложении, вы можете попробовать log4net. Я предпочитаю nLog самостоятельно, вы можете найти его здесь:

http://www.nlog-project.org/

Оба из них - с открытым исходным кодом.

Ответ 5

Еще один голос здесь для log4net. У меня есть сложное удаленное приложение, размещенное в службе Windows, и оно было чрезвычайно полезным.

log4net очень мощный и легко настраиваемый. Вы можете выполнять минимальное ведение журнала все время, а затем включать более подробное ведение журнала несколькими приращениями, изменяя настройку конфигурации.

Ответ 6

Я бы рекомендовал библиотеку Microsoft Enterprise, содержащую блок приложения журнала. Я использовал его в течение некоторого времени, и он работает хорошо.

http://www.codeplex.com/entlib/Release/ProjectReleases.aspx?ReleaseId=4474

Я использую его в WebApps для записи в виртуальный каталог. Он довольно гранулированный, и вы можете легко настроить его для собственного приложения.

Этот http://www.codeproject.com/KB/architecture/GetLoggingWithEntLib.aspx - хорошая статья об использовании этого