28 September 2009 HowTo, HowToCode, log4net, logging Robert Muehsig

imageEs ist sehr wichtig zu wissen, was nach dem Deployment einer Anwendung "im innern" passiert - besonders im Fehlerfall kommt man bei einer Black-Box nicht sehr weit. Dieser Blogpost soll als eine Art Toolsammlung sein, die sich bei uns bewährt haben.

Die Basis:

Die Basis bildet Log4Net. Es gibt viele Provider, sodass man das Log entweder in die Datenbank, ins Filessystem oder sonstwo hin schreiben kann. Wir haben in unserem Projekt zudem noch ein "ObjectDumper" eingebaut, welcher ein komplettes Objekt durchläuft und rausloggt.

Was soll man alles loggen?

ich habe festgestellt, dass man eigentlich nie "zu viel" loggen kann. Je nachdem was nützlich sein könnte um einen Fehler zu finden ist es vielleicht wert geloggt zu werden. Wichtig ist: Es muss in irgendeiner Form aussagekräftig sein. Wie immer gilt: Es kommt auf den Anwendungsfall an :)

Log4Net Dashboard - Was ist das?

Damit wir nicht über den Text-Editor das Log öffnen müssen, haben wir uns eine Weboberfläche zum Betrachten der Logs gesucht. Gefunden haben wir das Produkt "Log4Net Dashboard".

Log4Net Dashboard - Was muss man tun?

Um das Log4Net Dashboard nutzen zu können, muss man XmlLogs erstellen. Dafür kann man z.B. den "log4net.Appender.RollingFileAppender" nehmen.

Eine kurze Konfiguration später, hat man dann Zugriff über das Webfrontent.
Hinweis: In der kostenlosen "Developer" Variante kann man nur über localhost zugreifen. Erst nach dem Kauf einer Lizenz, kann man auch von jedem beliebigen Rechner zugreifen.

Log4Net Dashboard - Screenshot:

Ausprobieren: Live Demo

Neue Log-Einträge:

image

Überblick:

image

Das Tool ist nicht allzu teuer und es macht das analysieren einfacher. So spart man sich z.B. die Remoteverbindung zum Server und kann direkt aus dem Browser heraus nachschauen, was gerade (schief-) läuft.

Im Fehlerfall:

Falls doch ein Fehler passiert, nutzen wir Elmah um uns zu benachrichtigen und über die Weboberfläche Daten zu sammeln, wie es zu dieser unbehandelten Ausnahme kam.

image 

Was nutzt ihr?

Welche Tools benutzt ihr um eure Anwendung im Auge zu behalten?


Written by Robert Muehsig

Software Developer - from Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de