发生了log4net错误

时间:2017-07-21 05:38:09

标签: c# log4net

以下代码生成日志文件格式化日期时间(例如:yyyyMMdd_HHmmss.log) 但是结果存在问题。* *我只想制作一个日志文件当我运行* * * *下面的代码但创建了两个或更多日志文件时。* *     (例如:20170721_14 * * 22 * * 30.log,20170721_14 * * 23 * * 00.log,20170721 .....) 我不知道原因

我想解决我的问题

如何修复代码?

C#代码:

namespace ConsoleApplication1
{    
    class Program
    {
        static readonly ILog Logger = LogManager.GetLogger("DebugLogger");

        static void Main(string[] args)
        {
            int i;
            for (i=1;i<=50000000;i++)
                Logger.DebugFormat("{0},{1},{2}", 999, 997, 996);
        }
    }
}

我的 web.config ,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
      <file value=""/>
      <datePattern value="yyMMdd_HHmmss'.log '" />
      <staticLogFileName value="false" />
      <appendToFile value="false" />
      <rollingStyle value="Date"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message%newline">
        </conversionPattern>
      </layout>
    </appender>
    <logger name="DebugLogger">
      <level value="ALL" />
      <appender-ref ref="DebugAppender" />
    </logger>
  </log4net>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

2 个答案:

答案 0 :(得分:1)

您已选择&#34;日期&#34;作为滚动类型。因此它将根据datePattern分隔不同的日志:

<datePattern value="yyMMdd_HHmmss'.log'" />

我相信这会在每个SECOND上制作一个新的日志。因为这是您在日志日期模式中指定的最小值。

如果您只想要一个日志,请禁用滚动! 或者,如果您想要每日使用日志:

<datePattern value="yyMMdd'.log'" />

答案 1 :(得分:0)

我认为您需要查看如何使用log4net的配置。当前配置看起来像是用于按日期滚动文件appender。

如果您不关心日期,请按照log4net网站中描述的指南进行操作:https://logging.apache.org/log4net/release/config-examples.html#fileappender