Регистратор Serilog для каждой DLL плагина в одном приложении

Мой вариант использования - несколько несвязанных библиотек DLL, работающих как плагины в AutoCAD. У каждого есть статический глобальный регистратор Serilog, как описано на https://github.com/serilog/serilog/wiki/Lifecycle-of-Loggers#in-all-apps. Все они настроены для записи в Rolling Files.

Теперь я понял, что это создало нечетное состояние гонки, когда фактическим регистратором может быть любой и только один из регистраторов, объявленных в каждой DLL плагина (вероятно, в зависимости от того, какой из них объявил его последним).

Как мне создать отдельный регистратор динамических файлов для каждого плагина?

Лучше всего для этого варианта использования использовать отдельный internal static ILogger для каждого подключаемого модуля и писать в этот статический регистратор?


person CAD bloke    schedule 24.10.2017    source источник
comment
Да, подход logger-per-plugin звучит неплохо.   -  person Nicholas Blumhardt    schedule 25.10.2017
comment
Приятель, вот и ответ. Подсказка Подсказка.   -  person CAD bloke    schedule 25.10.2017
comment
Не хотел прекращать обсуждение на случай, если есть предложения получше :-)   -  person Nicholas Blumhardt    schedule 25.10.2017
comment
Не стоит беспокоиться. Я проголосую за них и приму лучший, если он появится.   -  person CAD bloke    schedule 25.10.2017


Ответы (1)


Да, подход logger-per-plugin звучит неплохо.

person Nicholas Blumhardt    schedule 25.10.2017