Logging 使用多个触发策略时限制日志文件总数Log4j2
我想做的就是Logging 使用多个触发策略时限制日志文件总数Log4j2,logging,log4j2,Logging,Log4j2,我想做的就是 当日志文件超过10MB标记时要滚动的日志文件 系统重新启动时要滚动的日志文件 要在日期更改时滚动的日志文件 一次最多可在logs文件夹中保存100个文件,这样大小就不会超过1GB 在下面的配置中,我哪里出错了?它实际上每天限制100个文件,而不是总共100个文件。使用的Log4j2版本是2.11 <RollingFile name="rollingFile" fileName="${logPath}/${rollingFileName}.log" filePatt
- 当日志文件超过10MB标记时要滚动的日志文件
- 系统重新启动时要滚动的日志文件
- 要在日期更改时滚动的日志文件
- 一次最多可在logs文件夹中保存100个文件,这样大小就不会超过1GB
<RollingFile name="rollingFile" fileName="${logPath}/${rollingFileName}.log" filePattern="${logPath}/${rollingFileName}_%d{yyyy-MM-dd}.%i.log">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSSXXX} %logger %-5level [%X{account}] [%t] [%X{context}] %X{version} %msg%n"/>
<Policies>
<!-- Causes a rollover if the log file is older than the current JVM's start time -->
<OnStartupTriggeringPolicy />
<!-- Causes a rollover if the log file is bigger that 10 MB -->
<SizeBasedTriggeringPolicy size="10 MB" />
<!-- Causes a rollover once the date/time pattern no longer applies to the active file -->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<!-- Allows creation of maximum 100 log files. Each of 10MB size would ensure logs folder never exceeds the size limit of 1.1GB -->
<DefaultRolloverStrategy max="100"/>
</RollingFile>
关于生成的最大文件数,我相信您可以使用自定义操作。不过,为了写下正确的代码,我没有过多地研究它 编辑:您希望日志文件夹中最多有100个文件: 查找
超过参数-该参数应满足您的要求:
EDIT2:我看了看中场休息。
根据此讨论,间隔受%d{}
的影响
模式中只允许一个%d{}
。如果该模式包括HH
作为最细粒度,则文件将每小时滚动一次。如果它只有dd
,那么它将每天滚动。如果它是MM
,则它将每月滚动。
如果您想每天滚动,您的模式应该是“/backup/${yyyy/MM/dd}/module-%d{yyyy-MM-dd}-%i.log.gz”。