log4j2的配置如下,日志量比较大,为啥每天只能保留7个日志文件,每天都是7个,如何配置一下改成不限制?

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="debug">
    <Properties>
        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n</property>
        <!--sw本地,测试,准生产是was用户,生产是chat -->
        <property name="file_name">/home/was/chatClient/chatClient.log</property>
        <property name="rolling_file_name">/home/was/chatClient/chatClient-%d{yyyy-MM-dd}-%i.log.gz</property>
        <property name="every_file_size">10M</property><!-- 日志切割的最小单位 -->
        <property name="output_log_level">info</property><!-- 日志输出级别 -->
    </Properties>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            <!--这个都知道是输出日志的格式-->
            <PatternLayout pattern="${log_pattern}"/>
        </Console>
    
        <RollingFile name="RollingFile" fileName="${file_name}" filePattern="${rolling_file_name}">
            <PatternLayout pattern="${log_pattern}"/>
            <!-- sw-如果不加Policies标签的话,在tomcat容器下 SizeBasedTriggeringPolicy会失效-->
            <Policies>
                <SizeBasedTriggeringPolicy size="${every_file_size}"/>
              </Policies>
            <Filters>
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>  
        </RollingFile>
    </Appenders>
    <Loggers>
        <root level="${output_log_level}">
            <appender-ref ref="RollingFile"/>
             <appender-ref ref="console"/>
        </root>
    </Loggers>
</Configuration>

如何复制全库

阅读 1.6k
1 个回答

你得设置 DefaultRolloverStrategy 里的 max 值: 当这个计数达到设定值, 将在后续回滚时删除旧的存档,这个值如果不设置的话默认是 7, 所以你可以适当调整这个值, 或者通过设置 SizeBasedTriggeringPolicy 里的 size 来增加每个日志最大容量

<RollingFile name="Log" fileName="logs/test.log" filePattern="logs/test-%d{yyyy-MM-dd}.log">
  <Policies>
    <TimeBasedTriggeringPolicy interval="1" />
    <SizeBasedTriggeringPolicy size="500MB"/>
  </Policies>
  <DefaultRolloverStrategy max="100"/>
</RollingFile>

官方文档: https://logging.apache.org/lo...
关于 DefaultRolloverStrategy - max 的解释:

The maximum value of the counter. Once this values is reached older archives will be deleted on subsequent rollovers. The default value is 7.
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏