代码之家  ›  专栏  ›  技术社区  ›  ZIADIA Oussama

带ASP.NET核心2的log4net

  •  1
  • ZIADIA Oussama  · 技术社区  · 6 年前

    我正在使用log4net创建动态日志文件,我在这里尝试了以下步骤 http://geekswithblogs.net/rgupta/archive/2009/03/03/dynamic-log-filenames-with-log4net.aspx 但是我得到了(空).txt文件,这是我的log4net.config文件

     `<log4net>
      <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file type="log4net.Util.PatternString" value="app_data/log/%date{yyyy-MM-dd}/%property{LogName}.txt" />
        <rollingStyle value="Date" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <datePattern value="yyyyMMdd" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="10000KB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value=" %-5level %date{dd-mm-yyyy HH:mm:ss} %logger [%thread] - %message %exception%newline%property{LogName}" />
        </layout>
      </appender>
      <root>
        <appender-ref ref="RollingFileAppender" />
        <level value="All" />
      </root>
    </log4net>`
    

    这是我的测试代码

    log4net.GlobalContext.Properties["LogName"] = "xx@xx.xx";
    

    如我所说,我将得到(空)的.txt文件名而不是xx@xx.xx.txt,感谢您的帮助。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Peska    6 年前

    XmlConfigurator.Configure

    public static class Program
    {
        public static void Main(string[] args)
        {
            // ...
    
            GlobalContext.Properties["LogName"] = "xx@xx.xx";
            XmlConfigurator.Configure(new FileInfo("log4net.config"));
    
            // ...
        }
    }