2

我已经看到了很多在 Spring Boot 中配置日志记录的示例,但我正在寻找的是完成在我的 application.properties 中修改此模式的工作的最简单方法:

logging.pattern.file= %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
logging.file=/Users/alessandroargentieri/Desktop/try/application.log

这工作得很好,但我想得到的是为单个文件设置一个 MB 限制,并设置每天我想要一个不同的日志文件(日期在文件名中)。

是否可以在不使用 XML 或 JSON 文件的情况下在 application.properties 中添加一些行?

4

2 回答 2

0

不,最简单的方法是使用额外的 xml 文件。

我正在使用 logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<property name="DEV_HOME" value="c:/logs" />

<appender name="FILE-AUDIT"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/debug.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>
            ${DEV_HOME}/debug.%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<logger name="ar.com" level="debug" additivity="false">
    <appender-ref ref="FILE-AUDIT" />
</logger>

<root level="error">
    <appender-ref ref="FILE-AUDIT" />
</root>
于 2018-01-26T16:35:08.373 回答
0

我认为您需要使用自己的自定义配置覆盖默认的日志记录配置。Spring Boot 以最少的配置提供日志记录支持,但它是有限的。它在内部使用 base.xml 文件,其中包括以下 file-appender.xml:

<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>
        </rollingPolicy>
        <triggeringPolicy
            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
</appender>

如您所见,只能注入很少的属性。

您可以通过以下链接设置您的自定义配置:

https://dzone.com/articles/configuring-logback-with-spring-boot https://springframework.guru/using-logback-spring-boot/

于 2018-01-26T08:47:25.907 回答