2009-05-06 4 views

Antwort

5

Wir verwenden ELMAH in unserer MOSS 2007-Umgebung. Da ELMAH HttpHandlers verwendet und über die web.config eingerichtet wird, war es ein Kinderspiel, es zu aktivieren. Fügen Sie einfach den ELMAH-Code zu web.config für die Anwendung hinzu, die Sie in SharePoint ausführen.

Wenn Sie möchten, dass ELMAH Fehler auf einer höheren Ebene als Ihre benutzerdefinierte Anwendung meldet, fügen Sie sie zur SharePoint web.config hinzu.

+0

ausgezeichneten stuff! Vielen Dank. Also, wenn Sie selbst keine Ausnahme in Code fangen, wird es die Pipeline nach oben bewegen, bis ELMAH es fängt und protokolliert? – Rob

+0

Ja, genau das passiert. Sie können gehandhabte Ausnahmen auch in ELMAH protokollieren. –

+1

Wo haben Sie Ihre DLL installiert? Ich möchte den GAC bereitstellen, um alle unsere Websites abzudecken. – Rob

0

Es gibt keine Magie, es einfach anschließen wie auf jeder anderen ASP.NET-Site.

9

Eine Sache, die wichtig ist, wenn Sie ELMAH oder die meisten HTTPModule in Sharepoint einrichten, ist, dass sie am Anfang des Abschnitts httpModules stehen müssen. Ansonsten schlucken Sharepoint wird im Wesentlichen die Ausnahme und ELMAH Funktionalität nicht

Works

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

Funktioniert nicht

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

ausgezeichnete Beratung, danke! – Rob

0

Im Folgenden werden die Konfigurationseinträge aufgerufen werden, die in hinzugefügt braucht web.config der SharePoint-Webanwendung

hinzufügen unter 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> 

In Abschnitt Connection

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

</connectionStrings> 

ELMAH Abschnitt hinzufügen knapp unter dem Connectionstring Abschnitt

<elmah> 

    <security allowRemoteAccess="0" /> 

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

hinzufügen Handler und Moduleintrag in Httphandlers und Httpmodules Abschnitt unter 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> 
In

Handler und Moduleintrag in Handler und Module Abschnitt unter 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> 

Siehe Link unten für Elmah Implementierung in Sharepoint

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