Ich versuche Log4j2 zu verwenden, um die Spring-Logs in eine Datei und Konsole zu drucken. Ich denke, das ist ein Problem in meiner Log4j2-Konfiguration. Ich habe es nicht funktionieren lassen. Ich habe diese Konfiguration in meiner log4j2.xml Datei:Logging Spring mit Log4j2
<?xml version="1.0" encoding="UTF-8"?>
<configuration name="defaultConfiguration" status="warn" strict="true" monitorInterval="5">
<properties>
<property name="patternlayout">%d{ISO8601} [%t] %-5level %logger{36} - %msg%n%throwable{full}</property>
<property name="filename">${env:MY_ROOT}/logs/mylog.log</property>
<property name="filenamePattern">${env:MY_ROOT}/logs/mylog-%d{yyyy-dd-MM}-%i.log.gz</property>
</properties>
<appenders>
<appender name="Console" type="Console" target="SYSTEM_OUT">
<layout type="PatternLayout" pattern="${patternlayout}" />
</appender>
<appender name="File" type="RollingFile" fileName="${filename}" filePattern="${filenamePattern}" bufferedIO="true" immediateFlush="true"
append="true">
<layout type="PatternLayout" pattern="${patternlayout}" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="50 MB" />
</Policies>
<DefaultRolloverStrategy max="30" />
</appender>
<appender name="AsynchFile" type="asynch" blocking="true" bufferSize="128">
<appender-ref ref="File" />
</appender>
</appenders>
<loggers>
<root level="info">
<appender-ref ref="Console" />
<appender-ref ref="AsynchFile" />
</root>
<logger name="org.springframework.beans">
<appender-ref ref="Console" />
<appender-ref ref="AsynchFile" />
</logger>
</loggers>
</configuration>
Dies sind die Abhängigkeiten, die ich in meiner pom-Datei: (wahrscheinlich einige von ihnen sind nicht erforderlich)
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-beta5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.0-beta5</version>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.0.0.beta3</version>
</dependency>
Ich bin nicht in meinem Java-Code alles zu tun, was mit dem Frühling zu tun hat. Ich benutze die Hauptklasse von Apache Camel, die meine Frühlingskonfiguration liest und die Bohnen lädt.
Was mache ich falsch? Vielen Dank!
Bearbeiten: Ich bekomme keine Frühjahrsprotokolle in irgendeiner Ausgabe (Konsole oder Datei). Ich bin jedoch in der Lage, die Protokolle, die ich in meinem Java-Code erstelle, zu erhalten. Ich hoffe, diese Klarstellung wird helfen.
Ich habe meinen Beitrag aktualisiert, so dass Sie weitere Informationen zu meinem Problem haben können. Danke für die Hilfe. – hveiga
Ich habe dich bis heute nicht gesehen, es tut mir leid! Ich werde es testen und ich werde es euch wissen lassen. Danke für die Antwort. – hveiga
Paar Monate zu spät, aber es hat funktioniert! Danke noch einmal. – hveiga