habe ich zwei parallele Threads, die appender mit diesem Muster auf das gleiche logFile mit der log4net-Datei schreiben:Log4net Bestellprotokolleinträge für mehr Threads
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{HH:mm:ss} %-5level - %message%newline" />
</layout>
Das Problem ist, wenn ich einen Eintrag Protokoll wie hinzufügen:
_log.Info("Something to log");
ich werde mein Protokoll mit nicht bestellt Einträge, von Thread A und B finden Was ich möchte, ist haben:
Log File:
+ Log 1 Thread A
+ Log 2 Thread A
+ Log 3 Thread A
+ Log 1 Thread B
+ Log 2 Thread B
... und so weiter
Wie kann ich das erreichen? Gibt es etwas in Log4Net, das dies erreichen kann? Ich habe zuerst gelehrt, die Logs im Gedächtnis zu behalten und sie dann zu spülen, sobald der Thread fertig ist, aber es ist keine gute Idee, wenn der Prozess beendet wird, alle Einträge werden verloren gehen.
Bitte jede Hilfe wird geschätzt.
Dank
Protokollierung wird normalerweise nach Zeitstempeln geordnet. Sie könnten zwei separate Protokolldateien erstellen. Oder besser: Loggen Sie sich in eine Datenbank ein. Sie können dann jede beliebige Filter-/Gruppierungs-/Sortierreihenfolge anwenden. – Stefan
Hallo Stefan, danke für deine Antwort. Derzeit ist jeder Thread ein Prozess und es gibt eine Einschränkung für die Verwendung einer Protokolldatei. Wenn sich jeder Thread zur selben Zeit in derselben Datei anmeldet, wäre es unordentlich und überhaupt nicht lesbar. – MadNeox