我们最近已从SpringBoot 1.5.x迁移到2.0.4.RELEASE,更改后缺少日志记录级别。
这是我们的依赖项
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
这是我们的application.properties:
spring.application.name=demo
# ---------------------
# Server Configuration
# ---------------------
server.servlet.context-path=/demo
server.port=8080
# ----------------------
# Logging Level Settings
# ----------------------
app.log.level=INFO
logging.level.com.demo.service.LogMeService=DEBUG
这是我们的logback.xml的一部分
<property file="application.properties"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>demo-application.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<FileNamePattern>demo-application.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<maxFileSize>250MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="${app.log.level:-INFO}">
<appender-ref ref="FILE" />
</root>
有趣的部分是,如果我们使用application.properties作为属性文件名,则可以看到LogMeService的日志。一切正常。
但是,如果我重命名属性文件,例如demo.properties,则LogMeService的日志将消失。还有其他人遇到吗?
这仅在我们迁移到SpringBoot 2.x时发生
答案 0 :(得分:0)
默认情况下,Spring Boot使用application.properties
作为配置源。因此,您的日志配置由应用程序标识。如果要使用另一个属性文件作为默认配置源,则可以在运行应用程序时更改spring.config.location
。
java -jar springboot-application.jar --spring.config.location=path/to/demo.properties
否则,您可以将SPRING_CONFIG_LOCATION
环境变量设置为指向demo.properties
。
有关更多信息,请参阅Spring Boot configuration guide。