我们最近将ASP.NET Web API应用程序移至ASP.NET Core。我们使用log4net进行日志记录 - RollingFileAppenders和ADONetAppender。我们希望继续使用log4net来最小化代码更改,但也使用中间件日志记录框架。所以我们很高兴找到一个带有适用于log4net的适配器的Nuget包 (https://github.com/huorswords/Microsoft.Extensions.Logging.Log4Net.AspNetCore)
这适用于文件追加器。但是对于DB appender,出于安全原因,我们在配置文件中没有连接字符串。我们曾经在运行时添加它(参见Log4NET AdoNetAppender connection string reference)。
我已经尝试创建自己的LoggerFactory,其中我使用相同的技术。但似乎改变连接字符串“为时已晚”。存储库似乎已更新,但log4net无法写入数据库。 (如果我在配置文件中包含相同的连接字符串,它可以正常工作)。
有没有人遇到过这个问题?并解决了它?