ELMAH - подробное логирование ошибок ASP.NET

ELMAH - open source проект, цель которого логирование и предоставление отчета о необработанных ошибках в ASP.NET приложениях (web sites & web applications).
С момента первого публичного релиза в 2004 году как пример в статье Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components, добавлено много новых фич возможностей и поддержка последних версий ASP.NET, но без поддержки совместимости старых.

Установка
  1. Установить через NUGET:> install-package elmah
  2. Скачать вручную
    • Прописать новые секции:
      <configSections> 
        <sectionGroup name="elmah"> 
          <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
          <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
          <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
          <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
        </sectionGroup> 
      </configSections>
       
    • Добавляем хендлер: 
      <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
    • Добавляем HTTP-модули:
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
  3. Теоретически уже можно использовать, обратившись по адресу http://site.url/elmah.axd

Для настройки отправки уведомлений об ошибках по почте:
<elmah>
   <errorMail
       from="siteadmin@site.com"
       to="siteadmin@site.com"
       cc="siteadmin@site.com"
       subject="Site error - Site name"
       async="true"
       smtpPort="25"
       smtpServer="smtp.site.com"
       userName="support@redbrick.ru"
       password="vbif555" />
</elmah>


Настрока логирования в память:<elmah>
     <errorLog type="Elmah.MemoryErrorLog, Elmah" size="50" />
</elmah>

Настройка логирования в XML-файлы:
<elmah>
     <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>

Логирование в БД SQLLite:
<connectionStrings>
  <add name="Elmah.SQLite" connectionString="data source=~/App_Data/Elmah.SQLite.db" />
</connectionStrings>

<elmah>
  <errorLog type="Elmah.SQLiteErrorLog, Elmah" connectionStringName="Elmah.SQLite" />
</elmah>

Логирование в SQL Server:
<connectionStrings>
  <add name="Elmah.Sql" connectionString="Data Source=.;Initial Catalog=ELMAH;Trusted_Connection=True" />
</connectionStrings>

<elmah>
  <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Elmah.Sql" />
</elmah>

Настройка безопасности:
<elmah>
     <security allowRemoteAccess="0"/>
</elmah>

<location path="elmah.axd">
    <system.web>
          <authorization>
               <
deny users="?"/>
          </authorization>
     </system.web>
</location>

Комментариев нет:

Отправить комментарий

Можете оставить свой комментарий