有没有办法在运行时配置 Logging.Log4Net.AspNetCore 连接字符串?



我们最近将 ASP.NET Web API应用程序迁移到 ASP.NET Core。我们使用log4net进行日志记录 - RollingFileAppenders和ADONetAppender。我们希望继续使用 log4net 来最小化代码更改,但也要使用中间件日志记录框架。因此,我们很高兴找到一个带有log4net适配器的Nuget软件包 (https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore)

这适用于文件追加器。但是对于数据库追加器,出于安全原因,我们在配置文件中没有连接字符串。我们过去常常在运行时添加它(请参阅 Log4NET AdoNetAppender 连接字符串参考)。

我尝试创建自己的LoggerFactory,其中我使用相同的技术。但更改连接字符串似乎"为时已晚"。存储库似乎已更新,但 log4net 无法写入数据库。(如果我在配置文件中包含相同的连接字符串,它可以正常工作)。

有没有人遇到过这个问题?解决了?

.NET Core 应用程序中不支持 AdoNetAppender。有关更多信息,请参阅 log4net 框架支持页面。

最新更新