繁体   English   中英

温莎城堡:如何通过LoggingFacility动态设置log4net filePath

[英]Windsor castle: how do you set log4net filePath dynamically through LoggingFacility

我正在使用使用log4net进行记录的城堡记录器。 这是我的安装设置。 我有一个名为log4net.config配置文件,在其中创建了所有log4net设置。

container.AddFacility<LoggingFacility>(
          f =>
              f.LogUsing(LoggerImplementation.Log4net)
               .WithConfig(Path.Combine(AssemblyDirectory, "log4net.config")));
              container.AddFacility<TypedFactoryFacility>();

log4net.config文件中,我将filePath设置为:

<configuration>
  <log4net>
    <appender name="RollingFileCompositeAppender" type="log4net.Appender.RollingFileAppender">
      <file value="c:\LoggerFolder\MyLogFile.log" />
      .....
  </log4net>
</configuration>

要使用此功能,我有ILogger记录器,并使用logger.Error("xyz");

一切工作正常。

现在,我想在运行时,当用户定义该路径时,将日志文件路径从“ c:\\LoggerFolder\\MyLogFile.log ”更改为其他内容。

当应用程序运行时,如何动态更改此路径?

Log4net使用此语法以监视模式加载; 将会观察到对配置文件的任何更改,并将重新加载配置文件。 因此,为了更改日志文件路径,只需更改文件内容以设置新的日志文件路径。

您可以通过手动更改某些设置来观察此行为,例如,写入日志文件的文件夹名称

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM