Frage

Daher habe ich eine Anwendung, in der ich die Verfolgung zur Protokollierung von Anwendungsaktivitäten/-fehlern usw. verwende. Diese Anwendung wird viele Klassen haben.
Was ist in diesem Fall die beste Möglichkeit, Tracesource zu verwenden? Sollte ich eine Singleton -Wicking -Testsource -Klasse erstellen oder gibt es eine bessere Möglichkeit, dies zu tun?

War es hilfreich?

Lösung

Ich stimme zu einem gewissen Grad mit @valdis - Log4Net und NLOG zwei Beispiele für sehr leistungsstarke Protokollierungs -Frameworks zu, die eine große Flexibilität und eine relativ einfach zu verwendende Konfiguration bieten (NLOG ist wahrscheinlich einfacher zu konfigurieren als Log4Net). Ich denke jedoch nicht, dass dies notwendig ist, um Spurenquellen vollständig zu vermeiden. Spracesource ist eingebaut, sodass Sie eine zusätzliche Abhängigkeit vermeiden.

Wenn Sie Tracesource verwenden, denke ich nicht, dass ein einzelnes Anwendung, das weite statische Spurenurkunde -Objekt ist, der richtige Weg ist. Ich würde empfehlen, mehr Tracesources zu verwenden, möglicherweise sogar eine pro Klasse (die möglicherweise übertrieben ist, aber bei Verwendung von Log4Net und NLOG ein gemeinsames Muster ist).

Ich habe mehr Details in eine Antwort auf Ihre andere Frage gestellt, wann mehr als eine Spurenquelle in einer Anwendung verwendet werden soll.

Andere Tipps

Sind Sie streng, um integrierte .NET-Event- und Protokollierungsinfrastruktur zu verwenden? Ich würde ermutigen, einige der dritten Parteien zu verwenden (z. B. Protokollierung in der Enterprise Library). Diese sind flexibler, konfigurierbarer und Sie haben keine Headackes wie diese - Sie schreiben nur:

Logger.Write(...)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top