一个应用程序中每个插件 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 方法听起来不错,是的。
我的用例是多个不相关的 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 方法听起来不错,是的。