当前位置: 首页 > 知识库问答 >
问题:

RollingFile追加器未使用当前日期

淳于博文
2023-03-14

滚动文件追加器没有将最近的日志项放入当前日期文件中。

在log4j2.xml文件中,我有一个RollingFile追加器,如下所示

    <RollingFile
    name="viewAppender"
    filePattern="/data/view/view%d{yyyy-MM-dd}.log">

    <PatternLayout><pattern>%m%n</pattern></PatternLayout>

    <Policies>
      <TimeBasedTriggeringPolicy />
  </Policies>
</RollingFile>

当新的日志条目运行时,它不会在当前日期运行,这里是日志文件。它显示最近的条目是8月30日的,但日志文件名是8月28日的。它应该用filePattern view2018-08-30.log创建一个新的日志文件

-rw-r--r--    1 root     root           230 Aug 30 10:36 view2018-08-28.log

共有1个答案

许寒
2023-03-14

您可以使用下面的log4j2.xml,它是一个正常工作的日志文件,每天都会创建新的日志文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Appenders>
<Console name="console-appender" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - 
 %msg%n"/>
</Console>
<RollingFile name="rollingFile-appender"
  fileName="${sys:user.home}/log/apache-tomcat/file.log"
  filePattern="${sys:user.home}/log/apache-tomcat/file-%d{yyyy-MM-dd}.log">
  <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - 
   %msg%n"/>
<Policies>
  <TimeBasedTriggeringPolicy/>
  <SizeBasedTriggeringPolicy size="50MB"/>
  </Policies>
  <DefaultRolloverStrategy max="30"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="info">
  <AppenderRef ref="rollingFile-appender"/>
  <AppenderRef ref="console-appender"/>
</Root>
</Loggers>
</Configuration>
 类似资料:
  • Log4j2 RollingFile追加冲突 下面是我们的log4j2配置文件的简化调试版本(我们每晚滚动,而不是每分钟滚动!)。 这个配置,而不是每分钟创建一个滚动文件 (根据TimeBasedTriggeringPolicy),将创建一个滚动文件(非tarred),包含JSON格式的日志记录,每20KB将被覆盖 (尽管它最终将略大于20KB(参见屏幕截图)。 我们还会得到以下错误(缩写为“..

  • 我刚开始使用log4j2 我正在尝试配置xml,以便使用和附加符将日志发送到日志文件中。这个附加器工作得很好。我想使用appender,这样它就可以每天清除日志文件,但是当它第一次创建日志文件时,它没有将任何日志消息写入创建的文件中,所以我来这里是为了得到一些建议

  • 问题内容: 我提出了有关添加带有WITH索引的行的问题,但是我还不清楚在没有索引的情况下这是为什么/为什么发生: 我希望这里有2X4数据帧。但是,没有添加任何值,也没有发生错误。 为什么不添加系列,为什么不出现任何错误? 如果我尝试使用LOC添加行,则会添加索引, 结果: 我猜LOC和iLOC都不能用于添加没有索引名称的行(即Loc添加索引名称NaN,并且当索引号高于数据库行时不能使用iLoc)

  • 您好,我对java.sql.Date的结果有问题。这是我的代码,从当前日期开始添加1周 如果当前日期是2016-02-27,那么我的MySQL中的结果是2016-03-05。但是,如果我想从当前日期开始添加1个月(对我来说总是31天),请使用此行代码 它应该是2016-03-28,但在我的MySQL中,结果是2016-02-05。任何人都可以帮助我这个结果有什么问题??

  • 问题内容: 我有这个PHP代码: 我用它来获取当前日期,而我需要未来5年的日期,例如: 我怎样才能做到这一点? 问题答案: 尝试: