如何在使用接收器组件时配置rollingPolicy?

时间:2015-03-02 07:56:58

标签: java log4j rollingfileappender fileappender

我希望有一个日志文件可以在第二天开始时滚动,或者它是否达到指定的文件大小。但我的日志文件从远程appender接收日志记录事件。

我的log.xml是:

<?xml version="1.0" encoding="UTF-8"?>

<configuration scan="true" scanPeriod="30 seconds">
    <property name="LOG_PORT" value="6000" />
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_DIR}/logname.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_DIR}/logname-%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
            <maxHistory>30</maxHistory> 
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%date{MMM dd yyyy HH:mm:ss.SSS}| [%thread] [%-5level] %logger{35}- %msg%n</pattern>
        </encoder>
    </appender>
    <receiver class="ch.qos.logback.classic.net.server.ServerSocketReceiver">
            <port>${myport}</port>
    </receiver>
    <root level="INFO">
            <appender-ref ref="FILE" />
    </root>

</configuration>

但是使用上述配置,如果日志文件的大小达到10 MB,则不会滚动日志文件。所以我想知道滚动策略是否仍在运行ServerSocketReceiver组件。

请帮忙告诉我。

0 个答案:

没有答案