Allgemein
Beim Erstellen von Software Anwendungen ist es wichtig, eine gute Logging Engine in die Software zu integrieren. Diese soll möglichst flexibel in der Konfiguration sein, um protokollierte Informationen in ein gewünschtes Ziel (Trace Listener) zu speichern. Hierfür eignet sich die Enterprise Library, diese enthält einen Logging Application Block, mit der sich per Konfiguration die Ausgabe ändern lässt. Als mögliche Ausgabe kann z.B. die Ereignisanzeige, Textdatei, E-Mail Nachricht oder eine Datenbank festgelegt werden, weitere Infos gibt es hier
Im folgendem werde ich beschreiben, wie man das Logging Application Block aus der Enterprise Libraray 5.0 in einer SharePoint 2010 Anwendung nutzt und das Deployment vorbereitet.
Einrichtung
Zuerst muss die Enterprise Library 5.0 heruntergeladen und installiert werden: Download
Anschließend wird eine leere SharePoint 2010 Solution erstellt

Zur Solution wird eine Application Page hinzugefügt, hier LoggingTest.aspx

Um die Logging Funktionalität nutzen zu können muss die folgende Assembly aus dem Enterprise Library Verzeichnis referenziert werden:
Microsoft.Practices.EnterpriseLibrary.Logging.dll

Jetzt muss noch die Web.config von SharePoint angepasst werden. Hierfür gibt es zwei Wege, manuell oder mit dem empfohlenem mitgelieferten Konfigurationstool EntLibConfig.exe
Im Konfigurationstool muss die jeweilige anzupassende Config Datei ausgewählt werden, in diesem Fall die Web.config, diese befindet sich im folgendem Pfad:
C:\inetpub\wwwroot\wss\VirtualDirectories\80
Anschließend können über das Menü Blocks weitere Settings hinzugefügt werden, hier Logging Settings.

Nach dem Hinzufügen wird die Web.config um Logging Funktionaltität erweitert. Als Standard wird als Ausgabe die Ereignisanzeige (Event Log) festgelegt, so das keine weiteren Anpassungen gemacht werden müssen.

Entwicklung
Jetzt kann die Logging Funktionalität in der LoggingTest.aspx genutzt werden. Hierfür wird die Klasse Logger aus den Namespace Microsoft.Practices.EnterpriseLibrary.Logging verwendet. Beim Aufruf der Seite sollen 3 Einträge mit den Typen Error, Warning und Information angelegt werden.

Deployment
Für das Deployment der SharePoint Solution müssen in das Package folgende Assemblies eingebunden werden, die dann ins GAC (Global Assembly Cache) installiert werden.
Microsoft.Practices.EnterpriseLibrary.Logging.dll
Microsoft.Practices.EnterpriseLibrary.Common.dll
Microsoft.Practices.ServiceLocation.dll
Microsoft.Practices.Unity.dll
Microsoft.Practices.Unity.Interception.dll

Nachdem die Entwicklung abgeschlossen ist und alle erforderlichen Assemblies eingebunden wurden kann die Solution deployed werden.

Testing
Nach Aufruf der Seite http://localhost/_layouts/SharePointEntLibLogging/LoggingTest.aspx
wurden wie erwartet 3 Einträge in der Ereignisanzeige mit dem Inhalt Test erstellt.

