So definieren Sie einen benutzerdefinierten TraceListener in app.config
Ich habe einen benutzerdefinierten Trace - Listener implementiert (abgeleitet vonTextWriteTraceListener
) und jetzt möchte ich meine Anwendung so einstellen, dass sie sie anstelle von Standard verwendetTextWriteTraceListener
.
Zuerst habe ich default hinzugefügtTextWriteTraceListener
um sicherzustellen, dass es funktioniert und es funktioniert. Hier ist meine app.config:
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="TextListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Jetzt ist mein Trace Listener in definiertMyApp.Utils
Namespace und es heißtFormattedTextWriterTraceListener
. Also habe ich den Typ in der obigen Konfiguration auf geändertMyApp.Utils.FormattedTextWriterTraceListener
und so sieht es aktuell aus:
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="MyTextListener" type="MyApp.Utils.FormattedTextWriterTraceListener" initializeData="trace.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Wenn ich jedoch versuche, etwas zu protokollieren, erhalte ich eineConfigurationErrorsException
mit der Nachricht:
Der Typ für die Klasse MyApp.Utils.FormattedTextWriterTraceListener wurde nicht gefunden.
Weiß jemand, wie ich diesen benutzerdefinierten Listener in der Konfiguration einrichten kann und ob es überhaupt möglich ist?