我们的系统负载很重。如果出现问题,系统每分钟都会生成 MB 的日志。几分钟后我们就已经找不到问题的根源(因为日志文件受到大小的限制)
如果文件大小大于 X mb,是否可以停止记录? logback有这个appender吗?
最佳答案
这篇文章Rolling logback logs on filesize and time可能会回答你的问题:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 50MB -->
<maxFileSize>50MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
关于java - 如果文件大小大于 X mb,则停止记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29519789/