我正在使用log4j2登录我的应用程序。我在log4.xml中使用以下策略
<Policies>
<SizeBasedTriggeringPolicy size="2000 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
并在服务器关闭时旋转日志。
如何根据上述条件编写集成测试以验证日志轮换?
答案 0 :(得分:0)
您的测试应打印大量邮件以导致日志滚动。 为了帮助它(滚动),使用专用的log4j2配置进行测试。为策略定义不同的值:将大小策略缩小到相当小的大小(远小于2000 MB)并以某种方式更改时间模式和时间策略间隔,从而允许为同一日期创建多个文件。 下面的配置示例定义了最多21个日常文件的创建,具有最低索引的文件是最新的。文件滚动在达到1k的大小时完成:
<RollingFile name="AppLog" fileName="${logDir}/${logFile}.log"
filePattern="${logDir}/${logFile}-%d{dd-MM-yyyy}-%i.log">
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="1 KB"/>
</Policies>
<DefaultRolloverStrategy fileIndex="min" max="21"/>
</RollingFile>
我在git here上有一个有效的例子。查找测试类LogApplicationTest。 如果您需要更多提示或遇到其他问题,请参阅我的blog。