使用Log4Net将当前日期附加到日志文件

使用Log4Net将当前日期附加到日志文件,log4net,config,Log4net,Config,我只想将当前日期和时间附加到日志文件中,比如: "export_(Wed_Feb_21_2009_at_1_36_41PM)" 这是我的app.config中的当前配置 是否可以将日期附加到日志文件中,或者这是我需要在代码中而不是在配置中执行的操作之一?使用: 将以下内容添加到配置文件中 对于感兴趣的人,以下是解决方案: 以及验证这一点的单元测试: [测试] 公共void测试记录器() { logger.Info(“启动日志”); 对于(int i=0;i

我只想将当前日期和时间附加到日志文件中,比如:

"export_(Wed_Feb_21_2009_at_1_36_41PM)"
这是我的app.config中的当前配置


是否可以将日期附加到日志文件中,或者这是我需要在代码中而不是在配置中执行的操作之一?

使用:


将以下内容添加到配置文件中


对于感兴趣的人,以下是解决方案:


以及验证这一点的单元测试:

[测试]
公共void测试记录器()
{
logger.Info(“启动日志”);
对于(int i=0;i<2500;i++)
{
logger.Info(i);
}
logger.Info(“结束日志”);
}
它产生以下输出:

    log_.txt_(2009.02.19-01_16_34)

这不是我真正想要的,但比我以前拥有的要好。

生成文件名,如:

log_2013-12-19.txt
改变


请遵守参数“DatePattern”,其中。\tx\t使文件扩展名为.txt。如果您提供的是.txt而不是。\tx\t,则如果时间是PM,则会将文件名保存为扩展名为.PxP;如果时间是AM,则保存为.AxA。因此,我使用\t强制写入字符而不是模式。还可以添加时间以及所需的任何时间模式


因此,这可能正是Philipp M所想要的。

如果您想使用.log后缀(生成类似myLogPrefix.20160309.log的文件),请使用:



问题是
staticLogFileName=false
,它允许您动态生成汇总(而不必重新启动服务\服务器)和
datepattern
中笨拙的
'g'
,因为
g
datepattern
中的一个神奇字符。log4net站点上没有很好的文档来研究这一点,因此这是从尝试和错误中获得的智慧,也是从其他人的经验中获得的。

使用StaticLogFileName true,滚动文件将带有日期/时间戳,而不是顺序(.1、.2等)。现在我看了一下,您必须将rollingStyle设置为“Date”或“Composite”才能工作。RollingFileAppender文档。检查RollingFileAppender部分:文件参数有什么需要的吗?日期还没有确定。也许你可以发布整个配置?当然,我已经编辑了上面的答案并添加了整个appender部分。对不起。。。还是不行。您使用的是“log4net”还是“Common.Logging”?我正在使用Common.Logging。我仍然得到一个名为“log.txt”的文件,只是为了确保这里没有误解-当前文件始终称为“log.txt”。每天,在第一次登录时,前一个文件将重命名为log.txt.OK,这很有意义。另外,您必须将“StaticLogFileName”更改为false,否则记录器将不会生成第二个文件,它只会附加到第一个文件。我使用了此DatePattern:并且它生成了一个格式为log_(2011.05.05-11_28_47)的文件。txt也将文件命名为“log”,而不是log.txt.Hi,我一直试图让我的Log4Net根据日期有不同的文件。我不仅在这个网站上遵守了说明,而且在几个网站上也遵守了说明。但我做不到。你知道我可能遗漏了什么吗?@william你最好问一个单独的问题并分享你的代码,而不是在这个问题的评论中问一个问题。如果你想把这个问题放到App\u Data下面的子文件夹中呢?\\App\u Data将是解决方案@JsonStatham或。\[文件夹\u名称]
log_2013-12-19.txt
<appender name="GeofenceFileAppender" type="log4net.Appender.RollingFileAppender">
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        <file type="log4net.Util.PatternString" value="C:\\Logs\\myLogPrefix" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value=".yyyyMMdd.lo'g'" />
        <staticLogFileName value ="false" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger – %message%newline" />
        </layout>
</appender>