Pergunta

Alguém integrado ELMAH em seu ambiente SharePoint?

Acho que é possível, como é tudo ASP.net, mas eu só queria saber se alguém tinha feito isso e se há um passeio através de como alcançá-lo?

Foi útil?

Solução

Nós usamos ELMAH em nosso ambiente MOSS 2007. Desde ELMAH usa HttpHandlers e é configurado através do web.config, ativando era uma moleza. Basta adicionar o material ELMAH para o web.config para o aplicativo que você está correndo dentro do SharePoint.

Se você quiser ELMAH para relatar erros em um nível mais elevado do que seu aplicativo personalizado, em seguida, adicioná-lo ao web.config do SharePoint.

Outras dicas

Uma coisa que é importante quando a criação de ELMAH, ou mais httpModules em Sharepoint é que eles precisam estar no início da seção httpModules. Caso contrário SharePoint será essencialmente engolir a exceção e funcionalidade ELMAH não será invocado

Obras

<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....

não funciona

<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"/>

Não há mágica para isso, basta ligá-lo, como você faria em qualquer outro site ASP.NET.

A seguir estão as entradas de configuração que precisa adicionado no web.config do aplicativo SharePoint web

Adicionar sob 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>

Adicionar secção connectionstring

<connectionStrings>
 <add name="elmah-express" connectionString="Data Source=[server name];Initial Catalog=  [ELMAH_customlogging];User ID=testuser;Password=Welcome1;" />

</connectionStrings>

Adicionar elmah seção logo abaixo da seção connectionstring

<elmah>

  <security allowRemoteAccess="0" />

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

Adicionar manipulador e entrada módulo na seção httphandlers e httpmodules sob 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>

Adicionar um manipulador e entrada módulo na seção de manipuladores e módulos sob 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>

Por favor, consulte o link abaixo para elmah implementação em sharepoint

http://sidteche.blogspot.in/ 2014/08 / implementar-elmah-custom-logging-in.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top