在Log4j基于时间的触发策略中,调制是什么意思 [英] What does modulate = 'true' signify in Log4j TimeBased Triggering Policy

查看:32
本文介绍了在Log4j基于时间的触发策略中,调制是什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下例中,每天都会创建一个日志文件。考虑到这个例子,您能提供一个场景来说明在间隔设置为1的情况下modate=‘true’的用法吗?

<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/app.log"
                 filePattern="logs/app-%d{yyyy-MM-dd-HH}.log">
      <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      </PatternLayout>
      <Policies>
        <TimeBasedTriggeringPolicy interal = 1 modulate="true"/>
      </Policies>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration> 

推荐答案

在Log4j初始化时,它将根据%d模式计算翻转间隔。当MODULATE为FALSE时,将根据应用程序启动的时间进行翻转。因此,如果应用程序在下午1:41启动,并且最小的时间间隔是该小时,则下一次滚动将发生在下午2:41如果MODULATE为TRUE,则将在&Q;EVEN&Q;边界上进行滚动,因此下一次滚动将在下午3点进行。

btw-示例中的XML无效。它应该是

<TimeBasedTriggeringPolicy interval="1" modulate="true"/>

这篇关于在Log4j基于时间的触发策略中,调制是什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆