Можно ли использовать ELMAH в среде SharePoint? - PullRequest
10 голосов
/ 06 мая 2009

Кто-нибудь интегрировал ELMAH в свою среду SharePoint?

Полагаю, это возможно, так как это все ASP.net, но я просто удивился, если кто-то это сделал и есть ли способ узнать, как этого добиться?

Ответы [ 4 ]

9 голосов
/ 28 июля 2009

Одна вещь, которая важна при настройке 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"/>
5 голосов
/ 06 мая 2009

Мы используем ELMAH в нашей среде MOSS 2007. Поскольку ELMAH использует HttpHandlers и настраивается через web.config, активация была простой задачей. Просто добавьте материал ELMAH в файл web.config для приложения, которое вы запускаете внутри SharePoint.

Если вы хотите, чтобы ELMAH сообщал об ошибках на уровне выше, чем ваше пользовательское приложение, добавьте его в веб-файл SharePoint.

0 голосов
/ 02 августа 2014

Ниже приведены записи конфигурации, которые необходимо добавить в web.config веб-приложения SharePoint

Добавить в разделе конфигурации

 <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

0 голосов
/ 06 мая 2009

В этом нет ничего волшебного, просто подключите его, как на любом другом сайте ASP.NET.

...