Чтение журнала от Log4Net сгенерировано несколькими потоками

У меня есть сценарий, который имеет несколько потоков, работающих параллельно. Эти потоки пишут в файл Log4Net RollingFileAppender. Чтение этого журнала является довольно запутывающим, так как все журналы потока перепутаны. Я задаюсь вопросом, что является хорошим способом записать эти журналы, и что является лучшим способом считать эти файлы, настолько читающие, что отладочная информация особого потока становится легче.

8
задан Benjamin Ortuzar 2 March 2010 в 20:23
поделиться

2 ответа

Обновите файл конфигурации, чтобы включить имя потока в вывод журнала. Если вы зададите имя потоков в коде, то это же имя будет записано в журнал в вашем файле. Вот простой пример включения имени потока через тег конфигурационного файла log4net:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="service.log" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="2MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
        **<conversionPattern value="%-5level : [%t] - %message%newline" />**
    </layout>
</appender>

UPDATE. Я написал простое приложение POC, чтобы продемонстрировать это. http://codereport.net/logging-the-thread-name-with-log4net/

7
ответ дан 5 December 2019 в 21:18
поделиться

Рассмотрите возможность ведения журнала во что-нибудь более простое в обращении, например в базу данных. Используя ведение журнала AdoNetAppender в таблицу базы данных, вы можете легко сортировать и фильтровать поток.

На сайте log4net есть образцы конфигурации о том, как это сделать.

0
ответ дан 5 December 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: