Вы можете настроить каркас ведения журнала, чтобы сохранить его в файл.Подойдет любой фреймворк, но позвольте мне добавить свой собственный здесь: -)
С CuttingEdge.Logging вы можете настроить HttpModule
(поставляется с библиотекой), который будет автоматически пересылать исключенияинформация для системы регистрации.Когда вы настроите XmlFileLoggingProvider
, вы сможете записывать в файл.Никаких изменений не требуется в вашем приложении.Вот пример конфигурации:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="logging"
type="CuttingEdge.Logging.LoggingSection, CuttingEdge.Logging" />
</configSections>
<logging defaultProvider="XmlLogger">
<providers>
<add name="XmlLogger"
type="CuttingEdge.Logging.XmlFileLoggingProvider, CuttingEdge.Logging"
path="log.xml"
/>
</providers>
</logging>
<system.web>
<httpModules>
<add name="ExceptionLogger"
type="CuttingEdge.Logging.Web.AspNetExceptionLoggingModule, CuttingEdge.Logging"/>
</httpModules>
</system.web>
</configuration>
Вы можете просто добавить CuttingEdge.Logging.dll
в папку bin вашего приложения и включить эту конфигурацию, и все готово.
Хорошая вещь оCuttingEdge.Logging AspNetExceptionLoggingModule
заключается в том, что он будет не только регистрировать исключения, возникшие во время запроса, но также регистрировать сбои, возникающие из фоновых потоков и вызывающие перезапуск AppDomain.Последний является функцией, не поддерживаемой другими структурами ведения журналов "из коробки".