Postupy: Vytváření a inicializace naslouchacích procesů trasování
Poznámka:
Tento článek je specifický pro rozhraní .NET Framework. Nevztahuje se na novější implementace .NET, včetně .NET 6 a novějších verzí.
System.Diagnostics.Trace Třídy System.Diagnostics.Debug odesílají zprávy do objektů nazývaných naslouchací procesy, které tyto zprávy přijímají a zpracovávají. Jeden takový naslouchací proces, je System.Diagnostics.DefaultTraceListenerautomaticky vytvořen a inicializován při trasování nebo ladění je povoleno. Pokud chcete Trace nebo Debug nasměrovat výstup do dalších zdrojů, musíte vytvořit a inicializovat další naslouchací procesy trasování.
Naslouchací procesy, které vytvoříte, by měly odrážet potřeby vaší aplikace. Pokud například chcete textový záznam veškerého výstupu trasování, vytvořte TextWriterTraceListener naslouchací proces, který při povolení zapíše veškerý výstup do nového textového souboru. Pokud chcete na druhou stranu zobrazit výstup pouze během provádění aplikace, vytvořte ConsoleTraceListener naslouchací proces, který přesměruje veškerý výstup do okna konzoly. Výstup EventLogTraceListener trasování může směrovat do protokolu událostí. Další informace najdete v tématu Naslouchací procesy trasování.
Naslouchací procesy trasování můžete vytvořit v konfiguračním souboru aplikace nebo v kódu. Doporučujeme používat konfigurační soubory aplikace, protože umožňují přidávat, upravovat nebo odebírat naslouchací procesy trasování, aniž byste museli měnit kód.
Vytvoření a použití naslouchacího procesu trasování pomocí konfiguračního souboru
Deklarujte v konfiguračním souboru aplikace naslouchací proces trasování. Pokud naslouchací proces, který vytváříte, vyžaduje i další objekty, deklarujte je také. Následující příklad ukazuje, jak vytvořit naslouchací proces, který zapisuje
myListener
do textového souboruTextWriterOutput.log
.<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>
Trace Pomocí třídy v kódu napište zprávu do naslouchacích procesů trasování.
Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
Vytvoření a použití naslouchacího procesu trasování v kódu
Přidejte do Listeners kolekce naslouchací proces trasování a odešlete naslouchacímu procesu trasování informace.
Trace.Listeners.Add(New TextWriterTraceListener("TextWriterOutput.log", "myListener")) Trace.TraceInformation("Test message.") ' You must close or flush the trace to empty the output buffer. Trace.Flush()
Trace.Listeners.Add(new TextWriterTraceListener("TextWriterOutput.log", "myListener")); Trace.TraceInformation("Test message."); // You must close or flush the trace to empty the output buffer. Trace.Flush();
- nebo -
Pokud nechcete, aby naslouchací proces přijímal výstup trasování, nepřidávejte ho Listeners do kolekce. Výstup můžete generovat prostřednictvím naslouchacího procesu nezávisle na Listeners kolekci voláním vlastních výstupních metod naslouchacího procesu. Následující příklad ukazuje, jak napsat řádek naslouchacímu procesu, který není v kolekci Listeners .
Dim myListener As New TextWriterTraceListener("TextWriterOutput.log", "myListener") myListener.WriteLine("Test message.") ' You must close or flush the trace listener to empty the output buffer. myListener.Flush()
TextWriterTraceListener myListener = new TextWriterTraceListener("TextWriterOutput.log", "myListener"); myListener.WriteLine("Test message."); // You must close or flush the trace listener to empty the output buffer. myListener.Flush();