logback TimeBasedRollingPolicy将日志内容附加到存档文件

logback TimeBasedRollingPolicy将日志内容附加到存档文件,logback,Logback,我将TimeBasedRollingPolicy指定给RollingFileAppender,但我发现日志内容同时附加到活动日志文件(json_log.log)和存档文件(json_log.2021-05-23.log)中 活动日志文件和归档日志文件的文件信息如下所示: <appender name="JSON" class="ch.qos.logback.core.rolling.RollingFileAppender"> <f

我将TimeBasedRollingPolicy指定给RollingFileAppender,但我发现日志内容同时附加到活动日志文件(json_log.log)和存档文件(json_log.2021-05-23.log)中

活动日志文件和归档日志文件的文件信息如下所示:

<appender name="JSON" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.log</file>
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <pattern>
                <pattern>
                    {
                    "tags": ["cbs_web"],
                    "project": "cbs_web",
                    "timestamp": "%date{\"yyyy-MM-dd'T'HH:mm:ss.SSSZ\"}",
                    "log_level": "%level",
                    "thread": "%thread",
                    "class_name": "%class",
                    "line_number": "%line",
                    "message": "%m",
                    "user_id": "%X{userId}",
                    "user_name": "%X{userName}",
                    "session_id": "%X{sessionId}",
                    "trace_id": "%X{traceId}",
                    "span_id": "%X{spanId}",
                    "http_method": "%X{httpMethod}",
                    "uri": "%X{uri}",
                    "query_string": "%X{queryString}",
                    "session_id": "%X{session_id}",
                    "stack_trace": "%exception"
                    }
                </pattern>
            </pattern>
        </providers>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>
</appender>
<logback.version>1.2.3</logback.version>
<log4j-to-slf4j.version>2.12.1</log4j-to-slf4j.version>
<slf4j.version>1.7.30</slf4j.version>
5月24日15:09 json_log.2021-05-23.log

5月24日15:09 json_log.log

5月24日15:09 localhost.log

根据上面的快照,我们可以看到今天是5月24日,活动日志文件和存档文件的修改时间是相同的。通过使用命令
tail json_log.2021-05-23.log
,附加到存档文件的内容是关于5月24日的

appender的logback配置如下所示:

<appender name="JSON" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.log</file>
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <pattern>
                <pattern>
                    {
                    "tags": ["cbs_web"],
                    "project": "cbs_web",
                    "timestamp": "%date{\"yyyy-MM-dd'T'HH:mm:ss.SSSZ\"}",
                    "log_level": "%level",
                    "thread": "%thread",
                    "class_name": "%class",
                    "line_number": "%line",
                    "message": "%m",
                    "user_id": "%X{userId}",
                    "user_name": "%X{userName}",
                    "session_id": "%X{sessionId}",
                    "trace_id": "%X{traceId}",
                    "span_id": "%X{spanId}",
                    "http_method": "%X{httpMethod}",
                    "uri": "%X{uri}",
                    "query_string": "%X{queryString}",
                    "session_id": "%X{session_id}",
                    "stack_trace": "%exception"
                    }
                </pattern>
            </pattern>
        </providers>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>
</appender>
<logback.version>1.2.3</logback.version>
<log4j-to-slf4j.version>2.12.1</log4j-to-slf4j.version>
<slf4j.version>1.7.30</slf4j.version>

${LOGS\u DIR}/${JSON\u LOG\u FILE\u NAME}.LOG
{
“标签”:[“cbs_网站”],
“项目”:“cbs_网站”,
“时间戳”:“%date{\”yyyy-MM-dd'HH:MM:ss.SSSZ\”,
“日志级别”:“%level”,
“线程”:“%thread”,
“类名称”:“%class”,
“行号”:“%line”,
“消息”:“%m”,
“用户id”:“%X{userId}”,
“用户名”:“%X{userName}”,
“会话id”:“%X{sessionId}”,
跟踪id:“%X{traceId}”,
“span_id”:“%X{spanId}”,
“http_方法”:“%X{httpMethod}”,
“uri”:“%X{uri}”,
“查询字符串”:“%X{queryString}”,
“会话id”:“%X{session\u id}”,
“堆栈跟踪”:“%exception”
}
${LOGS\u DIR}/${JSON\u LOG\u FILE\u NAME}.%d{yyyy-MM-dd}.LOG
30
20GB
应用程序部署在Weblogic和库版本中,如下所示:

<appender name="JSON" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.log</file>
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
        <providers>
            <pattern>
                <pattern>
                    {
                    "tags": ["cbs_web"],
                    "project": "cbs_web",
                    "timestamp": "%date{\"yyyy-MM-dd'T'HH:mm:ss.SSSZ\"}",
                    "log_level": "%level",
                    "thread": "%thread",
                    "class_name": "%class",
                    "line_number": "%line",
                    "message": "%m",
                    "user_id": "%X{userId}",
                    "user_name": "%X{userName}",
                    "session_id": "%X{sessionId}",
                    "trace_id": "%X{traceId}",
                    "span_id": "%X{spanId}",
                    "http_method": "%X{httpMethod}",
                    "uri": "%X{uri}",
                    "query_string": "%X{queryString}",
                    "session_id": "%X{session_id}",
                    "stack_trace": "%exception"
                    }
                </pattern>
            </pattern>
        </providers>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${LOGS_DIR}/${JSON_LOG_FILE_NAME}.%d{yyyy-MM-dd}.log</fileNamePattern>
        <maxHistory>30</maxHistory>
        <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>
</appender>
<logback.version>1.2.3</logback.version>
<log4j-to-slf4j.version>2.12.1</log4j-to-slf4j.version>
<slf4j.version>1.7.30</slf4j.version>
1.2.3
2.12.1
1.7.30
如有任何建议,将不胜感激