阅读日志4网.配置文件中的 Util.PatternString

本文关键字:Util PatternString 配置文件 日志 | 更新日期: 2023-09-27 18:36:20

如何读取log4net.配置文件中的 Util.PatternString 值?

<log4net>
  ...
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="D:'AppLogs'%date{yyyy}'%date{MM}'%date{dd-MMM}.xml" />
  </appender>
</log4net>

我查看了 ILog 属性,但找不到任何为我提供日志文件位置的内容。

阅读日志4网.配置文件中的 Util.PatternString

您可以将 log4net 配置解析为 xml 文件,然后找到 appender -> 文件 en 然后找到 value 属性。

或者你可以尝试一些想法,比如在当前的追加器中搜索:

foreach (var r in log4net.LogManager.GetAllRepositories()){
  foreach (var a in r.GetAppenders()){
    if (a is log4net.Appender.FileAppender){
      log4net.Appender.FileAppender fileappender = a as  log4net.Appender.FileAppender;
      .....
    }
  }
} 

您可以像这样获取文件名:

var ap = Log.Logger.Repository.GetAppenders().First(a => a is FileAppender) as FileAppender;

它将具有FileDatePattern属性。