一个应用程序中每个插件 DLL 的 Serilog 记录器

Serilog logger for each plugin DLL in One Application

我的用例是多个不相关的 DLL 运行 作为 AutoCAD 中的插件。每个都有静态全局 Serilog 记录器,如 https://github.com/serilog/serilog/wiki/Lifecycle-of-Loggers#in-all-apps. They are all configured to write to Rolling Files.

所述

我现在意识到这造成了一种奇怪的竞争条件,其中实际记录器可以是每个插件 DLL 中声明的记录器中的任何一个,而且只能是一个(可能取决于最后声明它的那个)。

如何为每个插件设置单独的滚动文件记录器?

此用例的最佳做法是为每个插件使用单独的 internal static ILogger 并写入该静态记录器吗?

logger-per-plugin 方法听起来不错,是的。