我已经看到很多在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文件?
答案 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>