| 

.NET C# Java Javascript Exception

0
In einem Try-Catch Statement soll eine Ausgabe auf die Console erfolgen.

Nutzt man hierfür eher System.Diagnostics.Trace.TraceError oder System.Console.WriteLine() ?
07.04.2011
schokostecker 68 4
3 Antworten
2
Wenn es schnell und unkompliziert sein soll, würde ich Dir den Befehl
System.Diagnostics.Debug.WriteLine()
empfehlen.

Vorteil hierbei ist, dass der Befehl den klassischen "OutputDebugString" ersetzt, das heißt Du kannst mit einem Debugmonitor wie DBMon oder noch besser Debugview eine Ablaufverfolgung implementieren.

Von der Implementierung eines Tracelisteners würde ich Dir auch abraten - hierfür gibt es bereits genügend Lösungen. Wir verwenden für das Logging die Enterprise Library von Microsoft und sind sehr zufrieden damit.
08.04.2011
mblaess 840 7
Funktioniert System.Diagnostics.Debug.WriteLine() auch in der Release? also ohne definierter DEBUG Konstante

schokostecker 08.04.2011
1
Im Debugmode werden System.Diagnostics.Trace und System.Diagnostics.Debug ausgegeben. Im Tracemode hingegene wird nur System.Diagnostics.Trace ausgegeben. So verwende ich System.Diagnostics.Debug für Funktionaufrufe und Debuginformationen. In System.Diagnostics.Trace schreibe ich Exceptions und andere wichtige Informationen.
smartic 08.04.2011
war informativ: +1
nabuchodonossor 08.04.2011
1
Logging mit .NET Hausmitteln am besten mit System.Diagnostics.Trace!

Dann kannst du z.B. eigene TraceListener implementieren: http://msdn.microsoft.com/de-de/library/system.diagnostics.tracelistener.aspx
08.04.2011
bugbite 81 1
1
Für Log-Ausgaben ist die Trace-Klasse auf jeden Fall schon mal besser geeignet als Console.WriteLine() - zum einen ist klar, dass es sich um Logging handelt und nicht etwa eine Ausgabe, die zur eigentlichen Funktion des Programms gehört. Zum anderen läßt sich die Ausgabe von Trace über die app.config auch noch konfigurieren.
Ich würde aber auch Trace nicht verwenden, sondern lieber eine Logging-Bibliothek wie log4net einsetzen. Neben vielen, vielen anderen Vorteilen fällt mir konkret für Dein geschildertes Szenario ein, dass sich mit log4net sehr einfach der Stacktrace der Exception mit ausgeben läßt. Mit TraceError muss man da mehr selbst machen.
08.04.2011
Matthias Hlawatsch 8,4k 2 8

Stelle deine .net-Frage jetzt!