代码之家  ›  专栏  ›  技术社区  ›  Deepesh Rathore

spring boot应用程序中的日志记录模式

  •  0
  • Deepesh Rathore  · 技术社区  · 8 年前

    如何将日志文件模式设置为 server.log.2017-12-22.gz ?

    到目前为止,在我的申请中。属性文件,我已将日志模式设置为:

    logging.pattern.file= "%d{yyyy-MM-dd } [%thread] %-5level %logger{36} - %msg%n"
    
    logging.file=/var/opt/VS_Logs/server.log
    

    但我需要以以下格式存储文件: 服务器日志2017-12-22.广州

    1 回复  |  直到 8 年前
        1
  •  4
  •   Dimitri Mestdagh Lancer.Yan    8 年前

    一旦需要自定义滚动和触发策略,就不能再依赖Spring boot的日志记录配置,必须使用特定于供应商的日志记录配置。下面是一个使用Logback和 TimeBasedRollingPolicy :

    <configuration>
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>server.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>server.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
                <maxHistory>30</maxHistory>
                <totalSizeCap>3GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd } [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <root level="debug">
            <appender-ref ref="FILE" />
        </root>
    </configuration>
    

    当您使用 .gz 扩大如果将此文件另存为 logback.xml 并将其放在类路径上,Spring boot将自动检测它,否则,您可以使用 logging.config 属性:

    logging.config=classpath:logback.xml