2009-03-26 3 views
2

Ich bin neu in der Logging Application Block (4.1). Hat jemand eine Anwendung geschrieben, die den Logging-Anwendungsblock aus mehreren Threads verwendet? Ich frage, weil der Logger eine statische Klasse ist und wegen potentiellem Schreiben in dieselbe Protokolldatei von mehreren Threads zum Beispiel.Microsoft Logging Application Block und Multithreading

Antwort

0

Ich bin nicht sicher, warum Sie besorgt sind, dass dies passieren könnte. Solange Sie eine Kategorie für Ihre Protokollierungsnachrichten angeben, sollten diese in die entsprechende Protokolldatei geschrieben werden, die für diese Kategorie konfiguriert ist. Dieser Vorgang ist Thread-sicher.

Oder sprechen Sie über das Schreiben der Protokollierungsnachrichten der gleichen Kategorie in verschiedene Dateien nach Thread? Z.B. Thread 1 -> mylog-1.log; thread 2 -> mylog-2.log

3

Der Logging Application Block ist threadsicher, das heißt, Sie können seine öffentlichen Methoden aus mehreren Threads aufrufen, ohne selbst eine Synchronisation durchzuführen. Die Bibliothek führt ihre eigene Synchronisation durch.

+0

Ich denke, was @Sunny ist, ist das Problem, wenn zwei Instanzen der Anwendung ausgeführt werden (z. B. eine Webanwendung auf einem Server), und sie versuchen, in eine Protokolldatei gleichzeitig zu schreiben Die Enterprise Library erstellt eine neue Protokolldatei und fügt ihr eine GUID voran, was nicht ideal ist. –