到目前为止,我使用的是在应用程序启动时配置的 log4net 记录器:
log4net.GlobalContext.Properties["LogRoot"] = @"../logs";
var log4netConfigFile = AppDomain.CurrentDomain.BaseDirectory + @"\log4net.config";
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(log4netConfigFile));
上面的代码确保使用配置文件 log4net.config 将日志写入 ../logs 文件夹
现在我开始使用 Serilog 并希望保留当前的 log4net 日志记录,但由具有专用 log4net 接收器的 Serilog 控制。所以我保留了上面的代码并编写了以下附加代码:
var logger = new Serilog.LoggerConfiguration()
.WriteTo.ColoredConsole()
.WriteTo.Log4Net()
.CreateLogger();
我看到日志文件是在应用程序启动时创建的,但只要我使用 Serilog 记录器就不再写入。
Serilog 不应该将 log4net 配置与它的 log4net 接收器一起使用吗?