我正在开发 spring 项目并使用 log4j 进行日志记录。但 log4j 使用其默认日志记录样式,而不是从 log4j.properties 文件中获取属性。 “log4.properties”位于资源文件夹下。这是我的 pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
这是我的 log4j.properties 文件
# Root logger option
log4j.rootLogger=DEBUG, stdout, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
最佳答案
默认情况下,Spring Boot 通过 Logback ( http://logback.qos.ch ) 配置日志记录,以在 INFO 级别记录到控制台。
将 Logback 替换为另一个日志记录实现 一般来说,您永远不需要切换日志记录实现; Logback 应该很适合你。但是,如果您决定使用 Log4j 或 Log4j2,则需要更改依赖项以包含您想要使用的日志记录实现的适当启动器并排除 Logback。 对于 Maven 构建,您可以通过排除根启动器依赖项传递解析的默认日志启动器来排除 Logback:
Spring Boot 实际应用 克雷格墙
<dependencies>
...
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
...
</dependencies>
关于java - Log4j 未从资源文件夹中获取 log4j.properties 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40435623/