4 Stimmen

Effiziente Art der Protokollierung in eine txt-Datei aus einem Konsolenprogramm

Was wäre der effizienteste Weg der Aufzeichnung in ein Protokoll (.txt) aus einem Konsolenprogramm auf C# und .NET 2.2? Mein Programm Schleifen mehrere Male immer verschiedene Daten ausgeben, basierend auf was der Benutzer will, so bin ich auf der Suche nach den effizientesten Weg, dies zu erreichen.

Ich weiß, dass ich einen Stream immer wieder öffnen und dann schließen kann, aber jedes Mal, wenn ich das tue, würde ich nur eine Zeile schreiben, und beim nächsten Mal (Sekunden später) macht das Programm eine Schleife und muss erneut schreiben. Meiner Meinung nach scheint das nicht sehr ressourcenfreundlich zu sein.

Ich verwende mehrere Threads, die alle Ausgabedaten haben, die ich protokollieren möchte (das Öffnen/Schließen derselben Datei oder der Zugriff auf dieselbe Datei in verschiedenen Threads könnte schlecht sein). Die "hält einen Verweis auf einen Stream Writer, die Auto-Flushes" klingt wie eine gute Idee, aber ich weiß nicht, wie man das tun.

0voto

Petr Macek Punkte 1503

Die Logging-Frameworks wie log4net sollten Multithreading korrekt handhaben.

Vielleicht gibt es auch einen nützlichen Hinweis: Die Protokollierung verschmutzt den Code erheblich und macht ihn weniger lesbar. Haben Sie in Erwägung gezogen, Aspekt zu verwenden, um dem Code zur Kompilierungszeit Protokollierungsfunktionen hinzuzufügen? In diesem Artikel finden Sie eine .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X