我想弄清楚如何使用ExtendedLog4NetLogger.cs 在运行时动态更改日志文件路径或使用 LoggingFacility?
这应该类似于直接使用 log4net,如下所示:
log4net.GlobalContext.Properties["LogName"] = logName;
如果我像这样注册 log4net 集成,我将如何访问 ExtendedLogger:
container.AddFacility<LoggingFacility>(f => f.UseLog4Net());
更新:我使用以下代码注册扩展记录器
container.AddFacility<LoggingFacility>(LoggerImplementation.ExtendedLog4net).WithConfig(configFile).ToLog(Logger));
我没有运行时异常,并且记录器不是空实例,但我没有看到使用全局属性创建的日志文件,我还为 appender 设置了配置值:
<file type="log4net.Util.PatternString" value="%property{LogName}" />
如果我只是将配置文件中的文件属性设置为完整路径,它确实可以工作。我想知道它是否不起作用,因为配置是在设置全局变量之前完成的。