2016-12-23 2 views
-3
Trace.AutoFlush = true; 
Trace.TraceInformation(string.Format("Try starting: {0}", System.Reflection.Assembly.GetExecutingAssembly().GetName())); 
Trace.Flush(); 

Ich habe gelesen: How to Check the Application Event Log for ErrorsDiagnose, wo die Trace.TraceInformation gelesen werden kann?

Aber ich kann keine Spuren finden! Was mache ich falsch?

+1

Können Sie erklären, warum Sie erwarten würden, dass die Ablaufverfolgung im Ereignisprotokoll endet? Hast du es konfiguriert, um dort zu schreiben? Beginnen Sie mit dem Lesen von [MSDN: Ablaufverfolgung und Instrumentierung von Anwendungen] (https://msdn.microsoft.com/en-us/library/zs6s4h68 (v = vs.110) .aspx), speziell dem Abschnitt "Ausgabe von Ablaufverfolgung". – CodeCaster

+0

Sorry, ich habe dieses Problem längst behoben! Ich möchte diese Frage entfernen. Ich kopierte Code und Konfiguration von einem anderen Projekt und es funktioniert jetzt. –

+0

So funktioniert es nicht, vor allem nicht einmal beantwortet. Siehe auch [Wie kann ich meinen Beitrag auf Stack Overflow löschen?] (Http://meta.stackexchange.com/questions/25088/how-can-i-delete-my-post-on-stack-overflow). – CodeCaster

Antwort

3

Der Trace kann an mehrere Listener ausgegeben werden.

Diese können Debug- (visuelles Studio), Datei- und sogar Datenbank-Listener enthalten.

Standardmäßig wird der Trace an das Visual Studio output window ausgegeben.

Dieser Artikel beschreibt, wie eine Datei Trace-Listener konfigurieren: How to: Create and Initialize Trace Listeners

Die System.Diagnostics.Debug und System.Diagnostics.Trace Klassen Nachrichten an Objekte genannt Hörer senden, empfangen und verarbeiten diese Nachrichten. Ein solcher Listener, der System.Diagnostics.DefaultTraceListener, wird automatisch erstellt und initialisiert, wenn die Ablaufverfolgung oder das Debuggen aktiviert ist. Wenn Sie möchten, dass die Trace- oder Debug-Ausgabe an zusätzliche Quellen weitergeleitet wird, müssen Sie zusätzliche Trace-Listener erstellen und initialisieren.

Über die app.config:

<configuration> 
    <system.diagnostics> 
    <trace autoflush="false" indentsize="4"> 
     <listeners> 
     <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" /> 
     <remove name="Default" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

Oder via Code:

Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); 

Wenn Sie in das Ereignisprotokoll protokollieren wollen, dann können Sie die Event Log Trace Listener verwenden.

+0

Danke andy, aber ich wusste schon, wie man in Datei schreibt. Ich möchte in das Anwendungsereignisprotokoll schreiben. –

+0

Oh, okay, Sie müssen einen Trace-Listener finden, der in das Anwendungsereignisprotokoll schreibt. – AndyJ

+0

Ich habe einen Link zum Trace Listener hinzugefügt. – AndyJ

Verwandte Themen