понедельник, 23 мая 2016 г.

Log4net. Множество лог-файлов при запуске нескольких инстансов одновременно.

Столкнулся с ситуацией, когда при одновременно запуске множества инстансов приложения в папке логов появлялось сразу несколько файлов.
Например, если имя лога с паттерном дата
log_20160505.txt
то если запустить например три  инстанса одновременно,  то получим:
log_20160505.txt
log_2016050520160505.txt
log_201605052016050520160505.txt

Чтобы этого избежать и перенаправить весь поток в желаемый один лог файл, необходимо использовать тег lockingModel:

<appender name="RollingLogFileAppender" 
type="log4net.Appender.RollingFileAppender"></appender>
<lockingmodel 
type="log4net.Appender.FileAppender MinimalLock"></lockingmodel>
<file value="c:\logfiles\log_yyyyMMdd.txt"></file>


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

Комментариев нет: