У меня есть 2 параллельных потоков, которые пишут в том же LOGFILE с помощью файла log4net Appender, используя этот шаблон:записей журнала Log4Net Заказ для нескольких потоков
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{HH:mm:ss} %-5level - %message%newline" />
</layout>
Проблема заключается в том, когда я добавить запись журнала, как:
_log.Info("Something to log");
Я найду свой журнал с не заказанные записей, из Thread а и В. что я хотел бы иметь это:
Log File:
+ Log 1 Thread A
+ Log 2 Thread A
+ Log 3 Thread A
+ Log 1 Thread B
+ Log 2 Thread B
... И так далее
Как я могу это достичь? Есть ли что-то в Log4Net, которое может это сделать? Сначала я учил хранить журналы в памяти, а затем очищать их после завершения потока, но это не очень хорошая идея, если процесс будет убит, все записи будут потеряны.
Пожалуйста, любая помощь будет оценена по достоинству.
Благодаря
Ведение журнала обычно заказывается штампами времени. Вы можете создать 2 отдельных файла журнала. Или, может быть, лучше: войдите в базу данных. Затем вы можете применить любой фильтр/группировку/порядок сортировки, который вам нравится. – Stefan
Привет, Стефан, спасибо за ваш ответ. В настоящее время каждый поток является процессом, и существует ограничение на использование одного файла журнала. Если каждый поток регистрируется одним и тем же файлом в одно и то же время, он будет грязным и не читаемым вообще. – MadNeox