Visual Studio 2008 - Tracing; Exception; File Optionen - Nachfrage

04/05/2009 - 19:27 von Martin Greul | Report spam
http://msdn.microsoft.com/de-de/lib...tener.aspx
http://msdn.microsoft.com/de-de/lib...celistener(VS.80).aspx


Hallo,

das brauche ich.
Leider geht es wieder nicht und ich weiß nicht warum.
http://www1.minpic.de/bild_anzeigen...55&key59872&ende
http://www1.minpic.de/bild_anzeigen...56&key‘547219&ende
Auszug:
Wenn Sie die Verwendung der Ablaufverfolgung in C# aktivieren möchten,
fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes das
/d:TRACE-Flag hinzu, oder fügen Sie #define TRACE am Anfang der Datei
ein. Fügen Sie in Visual Basic in der Compilerbefehlszeile das
/d:TRACE=True-Flag hinzu.

#define TRACE
geht in C# nicht.
Wo muss ich die Compilereinstellung vornehmen?

Was ich will.
Ich Fehlerfall soll eine Datei geschrieben werden.

Am besten so
2009-05-04-Error.txt

Wo muss ich das - initializeData - deklarieren?

Danke für Eure Hilfe.


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

Grüße Martin
 

Lesen sie die antworten

#1 Frank Dzaebel
05/05/2009 - 07:59 | Warnen spam
Hallo Martin,

Leider geht [Trace ..] nicht und ich weiß nicht warum.



Deine config-Datei (im Ausführungsverzeichnis, mit dem
gleichen Pràfix wie die Ausführungs-exe, nur mit "config"
daran gehàngt) ist soweit ok, wie in der Doku steht.
Dein Trace macht laut Konfiguration
kein Flush (also Persistieren des Buffers in
die Datei). Ich vermute, Du willst es erst beim Schliessen
der Form machen - aber irgendwo musst Du flushen
(oder Close'en) oder autoflush auf true setzen. Also
mal als Beispiel:

private void Form1_FormClosed(object sender,
FormClosedEventArgs e)
{
Trace.Close(); // Ereignis über Designer verbinden ...
// oder direkt nach einem Trrace.WirteLine o.à.
}




Wenn Sie die Verwendung der Ablaufverfolgung in C# aktivieren möchten,
fügen Sie in der Compilerbefehlszeile beim Kompilieren des Codes das
/d:TRACE-Flag hinzu, [...]
Wo muss ich die Compilereinstellung vornehmen?



In Visual Studio Projekten ist Trace standardmàßig aktiviert.

Wenn ganz oben (als ersten Token) zum Beispiel ein:
#undef TRACE
in der cs-Datei steht, ist Trace deaktiviert.
Entsprechend aktiviert:
#define TRACE
die Ablaufverfolgung. Oder CSC ... d:TRACE
Compilerschalter.

[Gewusst wie: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen]
http://msdn.microsoft.com/de-de/lib...xa344.aspx

_______

Ich Fehlerfall soll eine Datei geschrieben werden.
Am besten so 2009-05-04-Error.txt



Dann musst/kannst Du das über die Listerners-
Auflistung im C#-Code machen ... ganz grob:

http://groups.google.com/group/micr...d9776c6a31

und dann DateTime.Now benutzen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen