用于记录的spring boot应用程序属性

时间:2018-01-26 08:29:58

标签: java spring-boot logging log4j2 application.properties

我已经看到很多在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限制并设置每天我想要一个不同的日志文件(日期在文件名中)。

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

2 个答案:

答案 0 :(得分:0)

我认为您需要使用自己的自定义配置覆盖默认日志记录配置。 Spring引导以最小配置提供日志记录支持,并且它是有限的。它使用内部base.xml文件,其中包含以下文件-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/

答案 1 :(得分: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>