2016-06-02 13 views
0

Ich versuche, die eingebettete Tomcat Spring Boot-Log auf meine Log4J2-Konfiguration, aber es funktioniert nicht.Log4J2 im Frühjahr Boot mit eingebetteten Tomcat

Nach dieser Antwort, die mit einem externen Tomcat zurechtkommt: https://stackoverflow.com/a/28639068/1845463 scheint dort die Notwendigkeit zu sein, einige Gläser zu $ ​​Catalina_home/libs etc. zu bewegen. Ich denke, dass das mit Spring Boot nicht möglich ist, nicht wahr?

Hat jemand es geschafft, log4j2 zum Laufen zu bringen und Appender für catalina log zu konfigurieren?

Vielen Dank im Voraus

Antwort

0

EDITED: Der einfachste Weg ist zu tun spring-boot-starter-log4j2 hinzuzufügen.

N.B. Stellen Sie sicher, dass die anderen Komponenten keine andere Version von log4j benötigen. Dies kann Laufzeitfehler verursachen. z.B. elasticsearch Java-API erfordert 2.6+ und spring-boot-starter-log4j2:1.3.8 bietet log4j:2.4.1, wenn wir eine App erstellen, die elasticsearch verbindet und auch Spring-Boot verwendet. Dann werden wir am Ende NoSuchMethodError oder ähnliche Fehler bekommen. Zur Lösung dieser Fehler sollten wir log4j2:2.6+ in unserem pom hinzufügen.

+0

Was für einen gewundenen Weg ... Fügen Sie einfach 'Feder-boot-Starter-log4j2' statt dem, was Sie tun. –

+0

Versucht, aber es funktioniert nicht. Es verursachte mir eine Menge von NoSuchMethodErrors für org.apache.logging.log4j.Logger. –

+0

@M.Deinum Keine solchen Methodenfehler werden durch Hinzufügen von log4j2-api und log4j2-core gelöst. Ich frage mich, ob es einen geeigneteren Weg gibt! –

0

Welche Spring Boot-Version verwenden Sie? Ich glaube, dass 1.4.x.RELEASE es zu log4j2 emporgehoben hat. Wie @ M.Deinum einschließlich erwähnt:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-log4j2</artifactId> 
    <version>1.4.6.RELEASE</version> 
</dependency> 

bringt:

log4j-core, log4j-api und ein paar mehr. Siehe https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2/1.4.6.RELEASE

Es könnte logging Starter auszuschließen Verwendung sinnvoll sein:

 <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> 
Verwandte Themen