我正在使用Log4j2通过Spring Boot进行日志记录,但是它没有创建日志文件。下面给出的是我对Log4j2的配置以及我添加的依赖项。
Log4j2配置-
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%style{%d{ISO8601}}{black} %highlight{%-5level }[%style{%t}{bright,blue}] %style{%C{1.}}{bright,yellow}: %msg%n%throwable" />
</Console>
<!-- File Appender -->
<File name="File" fileName=".logs/app.log">
<PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" />
</File>
</Appenders>
<Loggers>
<!-- LOG everything at INFO level -->
<Root level="info">
<AppenderRef ref="Console" />
<AppenderRef ref="File" />
</Root>
<!-- LOG "com.baeldung*" at TRACE level -->
<Logger name="com.ams" level="trace">
<AppenderRef ref="File" />
</Logger>
</Loggers>
</Configuration>
Pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Add Log4j2 Dependency -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
我需要添加其他配置或依赖项吗?因为根据Web上的博客,log4j2应该使用上面提供的配置创建日志文件。
答案 0 :(得分:0)
也许this链接会为您提供帮助。 在我的情况下,我必须在pom xml中排除spring boot startet日志记录,因为否则默认的日志记录logback处于活动状态,并且不会使用log4j。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:0)
可能已经晚了,但是无论如何还是要回答这个问题。我在pom中添加了spring-boot-starter-log4j2依赖性,并排除了spring-boot-starter-logging依赖性。另外,值得赞扬的是@medTech的回答,因为它使我尝试了不同的解决方案。
请注意,我使用的是 spring boot 2.2.6.RELEASE ,未经1.x版本的测试。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>