以下代码生成日志文件格式化日期时间(例如: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>
答案 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