ELMAH - open source проект, цель которого логирование и предоставление
отчета о необработанных ошибках в ASP.NET приложениях (web sites & web applications).
С момента первого публичного релиза в 2004 году как пример в статье Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components, добавлено много новыхфич возможностей и поддержка
последних версий ASP.NET, но без поддержки совместимости старых.
Установка
Для настройки отправки уведомлений об ошибках по почте:
<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>
С момента первого публичного релиза в 2004 году как пример в статье Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components, добавлено много новых
Установка
- Установить через NUGET:> install-package elmah
- Скачать вручную
- Прописать новые секции:
<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" /> - Теоретически уже можно использовать, обратившись по адресу 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>
Комментариев нет:
Отправить комментарий
Можете оставить свой комментарий