Кто-нибудь интегрировал ELMAH в свою среду SharePoint?
Я предполагаю, что это возможно, как и все ASP.net, но я просто задавался вопросом, сделал ли кто-нибудь это, и если есть возможность пройтись по его достижению?
Кто-нибудь интегрировал ELMAH в свою среду SharePoint?
Я предполагаю, что это возможно, как и все ASP.net, но я просто задавался вопросом, сделал ли кто-нибудь это, и если есть возможность пройтись по его достижению?
Мы используем ELMAH в нашей среде MOSS 2007. Поскольку ELMAH использует HttpHandlers и настраивается через web.config, активизация его была cinch. Просто добавьте материал ELMAH в файл web.config для приложения, которое вы используете внутри SharePoint.
Если вы хотите, чтобы ELMAH сообщал об ошибках на уровне выше вашего пользовательского приложения, добавьте его в web.config SharePoint.
Одна вещь, которая важна при настройке ELMAH или большинства HTTPModules в Sharepoint, заключается в том, что они должны быть в начале раздела httpModules. В противном случае SharePoint по существу проглотит исключение, и функция ELMAH не будет вызвана
Работы
<clear />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
<add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
... Rest of SharePoint modules....
Не работает
<clear />
<add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
... Rest of SharePoint modules....
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
Нет никакого волшебства, просто подключите его, как и на любом другом сайте ASP.NET.
Ниже перечислены записи конфигурации, которые необходимо добавить в web.config веб-приложения SharePoint.
Добавить в configsection
<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>
Добавить раздел строки подключения
<connectionStrings>
<add name="elmah-express" connectionString="Data Source=[server name];Initial Catalog= [ELMAH_customlogging];User ID=testuser;Password=Welcome1;" />
</connectionStrings>
Добавьте раздел elmah чуть ниже раздела строки подключения
<elmah>
<security allowRemoteAccess="0" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-express" />
</elmah>
Добавить запись обработчика и модуля в раздел httphandlers и httpmodules в разделе system.web
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
Добавить запись обработчика и модуля в разделе обработчиков и модулей в файле system.webserver
<modules runAllManagedModulesForAllRequests="true">
<remove name="ErrorLog"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorTweet" type="Elmah.ErrorTweetModule, Elmah" preCondition="managedHandler" />
</modules>
<handlers>
<add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
Пожалуйста, обратитесь к ссылке для реализации elmah в sharepoint.
http://sidteche.blogspot.in/2014/08/implement-elmah-custom-logging-in.html