programing

Spring boot - 백업 로그 파일 수가 7개로 제한됨

newsource 2023. 8. 23. 21:49

Spring boot - 백업 로그 파일 수가 7개로 제한됨

우리의 봄부트 프로젝트에서 우리는 로깅 목적으로 slf4j를 사용하고 있습니다.아래는 application.properties 파일에 추가한 구성입니다.

logging.file=/opt/logs/my_log.log
logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.level.nl.yestelecom.boss=DEBUG
logging.level.com.github.isrsal.logging.LoggingFilter=DEBUG

파일 크기가 10.5인 백업 파일 7개(my_log.log.1, my_log.log.2..., my_log.log.7)만 생성합니다.MB 이후에는 로깅이 전혀 발생하지 않습니다.

이 행동을 바꿀 수 있는 방법이 있습니까?

스프링 부츠의 사용 가능한 속성을 알아봤지만 아무것도 찾지 못했습니다.어떤 제안이든 감사합니다.

Spring-Boot에서는 application.properties에서 제한된 속성만 구성할 수 있습니다.여기 목록을 참조하십시오.

Spring-boot에서 사용하는 기본 구성은 base.xml에 정의되어 있습니다.파일 appender를 포함하는 base.xml 구성을 참조하십시오.

추가 구성을 추가하는 두 가지 방법이 있습니다.

  1. logback-spring.xml 추가

프로젝트의 클래스 경로에 logback-spring.xml이라는 이름의 로그백 구성 XML이 있는 경우 초기화 시 Spring-Boot에 의해 선택됩니다.

  1. application.properties의 구성 파일을 가리킵니다.

application.properties 내에서 다음을 사용하여 사용자 정의 로그백 XML을 가리킵니다.

logging.config= # Location of the logging configuration file. For instance `classpath:logback.xml` for Logback

위의 두 단계 중 하나를 사용하여 추가 구성을 추가하면 롤오버 전략이 다음과 같이 해당 사용자 지정 XML 내에서 언급될 수 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <Pattern>%d %-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>10</maxIndex>
        </rollingPolicy>
        <triggeringPolicy
        class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE"/>
    </root>
</configuration>

SFL4J는 그냥 포장지야.로그백 라이브러리에 대한 추가 구성을 추가해야 합니다.

<configuration>
  <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>

      <!-- keep 30 days' worth of history capped at 3GB total size -->
      <maxHistory>30</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>

    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender> 

  <root level="DEBUG">
    <appender-ref ref="FILE" />
  </root>
</configuration>

원천

이 경우 지난 30일부터 3GB 이하의 로그가 있습니다.

스프링 부트 2.0.0의 경우:

  • logging.file.max-history
  • logging.file.max-size

...그리고 다른 사람들은 그들을 보고org.springframework.boot.logging.LoggingSystemProperties또는 https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/html/boot-features-logging.html#boot-features-logging-file-output .

언급URL : https://stackoverflow.com/questions/39610495/spring-boot-number-of-backup-log-files-restricted-to-7