Geschrieben einfache POC zu beweisen und zu testen Spring Boot und log4j2 Kompatibilität. Sobald es erfolgreich ist, werde ich es zur realen Anwendung bewegen.Spring Boot Protokollierung mit Log4j2
Bitte meine POC Quellcode verweisen: https://github.com/Dennyss/SpringBootLog4j2POC
Ich weiß/lesen über Spring-Version und log4j2 Kompatibilität von: How to set up Spring Boot and log4j2 properly?
gefunden und versucht, Empfehlungen hier beschrieben: Spring-Boot logging with log4j2?
Aber noch funktioniert nicht. Das Problem besteht darin, dass sowohl Anwendungsprotokolle als auch Spring-Protokolle nur auf Konsolen gedruckt werden.
Siehe Maven Abhängigkeiten unten (von POC):
<dependencies>
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
</dependency>
</dependencies>
Wenn ich Spring logback nicht ausschließen und nicht boot-Starter-log4j2 dann Anwendungsprotokolle drucken, um Anwendungsdatei aber Frühling Protokolle hinzufügen werden überhaupt nicht gedruckt. Ich fühle das Problem irgendwo mit Abhängigkeiten. Schätze jede Hilfe.
dies heute versucht, bekam Fehlermeldung zu trösten. „ERROR StatusLogger Keine log4j2 Konfigurationsdatei gefunden Standardkonfiguration verwenden: Anmeldung nur Fehler der Konsole." aber alle arbeiten großartig. Ich sehe App-Logs in application.log, Spring in spring-framework.log und alle anderen in anderen.log. Danke für Ihre Hilfe! – Denys
Laut log4j-Dokumentation erwartet '-Dlog4j.configurationFile', nicht sicher, ob es richtig initialisiert wurde (Fehlermeldung erklärt das gleiche). – Denys