Ведение журнала корпоративной библиотеки - ведение нескольких потоков в несколько файлов журнала - PullRequest
1 голос
/ 04 февраля 2012

У меня есть программа, которая порождает несколько потоков динамически. Я хотел бы ввести ведение журнала, чтобы каждый поток мог войти в свой собственный файл журнала.

Используя Enterprise Library 4.1, возможно ли для каждого потока (динамически создаваемого во время выполнения) войти в уникальный файл журнала, связанный с этим потоком?

Например

Тема 1 -> mylog1.log Тема 2 -> mylog2.log ... Тема N -> mylogN.log

Я читал следующие темы, которые пролили свет, но не смогли обеспечить жизнеспособное решение.

Запись в несколько файлов Enterprise Library Logger

Библиотека Entreprise Плоский файл не катится

Реализация файла журнала с использованием Enterprise Library в asp.net

Блок приложения Microsoft Logging и многопоточность

Должен ли я смотреть на другую структуру, которая способна на это? Log4Net

Спасибо

1 Ответ

2 голосов
/ 07 февраля 2012

Подход, который вы описываете, не совсем подходит для подхода на основе конфигурации Enterprise Library, где каждый Trace Listener отображается в один файл и настроен во время разработки.

Однако вы должны быть в состоянии достичь того, чтоВы хотите использовать программный подход.Для каждого потока вы можете программно создать LogWriter, а затем использовать этот LogWriter для всего ведения журнала для этого потока.

Некоторые из более старых статей о программном ведении журналов должны по-прежнему применяться для версии 4. Например: Programatic Configuraton - Enterprise Library (v2.0) Блок ведения журнала .Обратите внимание, что в версии 5 есть изменения (например, LogWriter теперь является абстрактным), которые могут сломать более старые реализации.

...