Spring boot 带有嵌入式Tomcat的Spring Boot中的Log4J2
我试图让Spring引导中的嵌入式Tomcat记录到我的Log4J2配置中,但它不起作用 根据这个与外部Tomcat打交道的答案:似乎需要将一些罐子移动到$Catalina_home/libs等。我认为这在Spring Boot中是不可能的,不是吗 是否有人设法让log4j2运行并能够为catalina日志配置appendersSpring boot 带有嵌入式Tomcat的Spring Boot中的Log4J2,spring-boot,log4j2,tomcat8,Spring Boot,Log4j2,Tomcat8,我试图让Spring引导中的嵌入式Tomcat记录到我的Log4J2配置中,但它不起作用 根据这个与外部Tomcat打交道的答案:似乎需要将一些罐子移动到$Catalina_home/libs等。我认为这在Spring Boot中是不可能的,不是吗 是否有人设法让log4j2运行并能够为catalina日志配置appenders 提前感谢编辑:最简单的方法是添加spring-boot-starter-log4j2 <dependency> <groupI
提前感谢编辑:最简单的方法是添加
spring-boot-starter-log4j2
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
org.springframework.boot
spring-boot-starter-log4j2
N.B.确保其他组件不需要不同版本的log4j。这可能会导致运行时错误。e、 g.
elasticsearch
JavaAPI需要2.6+并且spring-boot-starter-log4j2:1.3.8
提供了log4j:2.4.1
,如果我们正在构建一个连接elasticsearch并使用spring-boot的应用程序的话。然后,我们将最终得到NoSuchMethodError或类似的错误。为了解决这些错误,我们应该在pom
中添加log4j2:2.6+
,您使用的是哪个Spring引导版本?我相信1.4.x.RELEASE将其提升到log4j2。
如@M.Deinum所述,包括:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
多么复杂的方式。。。只需添加
spring-boot-starter-log4j2
,而不是您所做的。尝试过,但不起作用。它为org.apache.logging.log4j.Logger.@M.Deinum造成了很多NoSuchMethodErrors错误。添加log4j2 api和log4j2 core不会解决此类方法错误。我想知道是否有更合适的方法!添加core和api基本上违背了使用starter的目的。初学者的要点是不需要添加这些依赖项。如果您没有遇到这样的方法错误,那么可能还有其他问题,您可能会把事情与其他依赖项弄糟。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>