首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >log4j2 RolllingFileAppender filePattern创建错误的日期

log4j2 RolllingFileAppender filePattern创建错误的日期
EN

Stack Overflow用户
提问于 2015-11-23 11:23:09
回答 2查看 2.5K关注 0票数 2

我在filePattern中使用了date,但是log4j创建的date不正确。今天是2015-11-23,但是log4j创建了一个名为2015-12的文件目录。我的log4j2版本是2.4.1。here is a snapshot

下面是我的log4j2配置。

代码语言:javascript
复制
<RollingFile name="RollingFile" fileName="logs/executor.log" append="true"
                 filePattern="logs/$${date:yyyy-MM}/executor-%d{yyyy--MM--dd}-%i.log.gz">
      <PatternLayout>
        <Pattern>%t  %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n</Pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy interval="24" modulate="true"/>
        <SizeBasedTriggeringPolicy size="1MB"/>
      </Policies>
    </RollingFile>
EN

回答 2

Stack Overflow用户

发布于 2015-12-15 05:36:01

此问题是由于您的时间间隔造成的。它有效地将初始滚动文件设置为下一次滚动结束的时间。TimeBasedTriggeringPolicy的RollingFileAppender文档说:“根据日期模式中最具体的时间单位,滚动应该发生的频率。”由于您最具体的时间单位是dd,即每月的某一天,因此它将其设置为从2015-11-23开始的24天,或12个月的某个时间,当它将滚动时。

你可能想要的是间隔为1。这应该滚动到每个文件日,然后一旦每个月溢出,它就会进入下一个子文件夹,因为触发了1天。

我已经用你的模式测试过了,但是在最后使用MM和interval=“24”。调制,它滚动到12/2016,但没有调制,它滚动说11/2017!我不能说为什么,根据我上面的评论,这个功能报告了一些问题。

票数 1
EN

Stack Overflow用户

发布于 2015-12-01 14:51:57

也有同样的问题。

代码语言:javascript
复制
<RollingFile name="DailyFileAppender" fileName="logs/server.log"
                 filePattern="logs/server - %d{yyyy-MM-dd} - %i.log">
        <PatternLayout>
            <pattern>%d{yyyy-MM-dd HH:mm:ss,SSS}- %c{1}: %m%n</pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="5"/>
            <SizeBasedTriggeringPolicy size="10 KB"/>
        </Policies>
        <DefaultRolloverStrategy max="4"/>
    </RollingFile>

输出文件的数据错误。例如,日期为"2015-12-01“输出日期为"2015-12-05”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33863275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档