Wildfly 8.2 sunucusuna dağıtılan bir kulak uygulaması (ejb ve web uygulaması içerir) için log4j2 (sürüm 2.5) aracılığıyla slf4j kullanıyorum. olduğunuLog4j2, Wildfly'de nasıl çalışır 8.2
<dependencyManagement>
<dependencies>
<!-- SLF4J -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j2-version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
...
</dependencies>
</dependencyManagement>
Ve modüllerin pom.xml:
<dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> ... </dependencies>
Sonra içine log4j2.xml yerleştirilen gibi ebeveyn POM nasıl göründüğü kulağın META-INF klasörü
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<File name="FileLogger" fileName="app-simple.log">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{3} - %m%n"/>
</File>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef ref="FileLogger"/>
</Root>
</Loggers>
</Configuration>
Tüm bunlar ve uygulama dağıtıldıktan sonra, hiçbir şey gerçekten olmadı, hata yok, günlük dosyası oluşturulmadı,
Wildfly kayıt alt sistemi bununla etkileşime girebileceğini düşündüm. Bu yüzden Wildfly günlüğe kaydetme
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="logging"/>
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
dışlamak için META-INF klasöründeki jboss-dağıtım-structure.xml eklendi ve sonra aşağıdaki hata var.
15:07:20,648 ERROR [stderr] (MSC service thread 1-5) ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Bu post Yanlış bir şey log4j2 versiyonu olabileceğini düşündüm yanıta göre, aynı hata hakkında konuşurken buldum, bu yüzden 2.0.1 sürümünü bozmak ve sonra şikayet etmedi ancak yapılandırma dosyası hakkında bu yeni hata verdi: Ayrıca, bu post göre
16:57:38,456 ERROR [stderr] (MSC service thread 1-5) ERROR StatusLogger Could not search jar file 'C:\Servers\wildfly-8.2.0.Final\standalone\deployments\test-ear.ear\lib\log4j-core.jar\org\apache\logging\log4j\core' for classes matching criteria: annotated with @Plugin file not found java.io.FileNotFoundException: C:\Servers\wildfly-8.2.0.Final\standalone\deployments\test-ear.ear\lib\log4j-core.jar\org\apache\logging\log4j\core (The system cannot find the path specified)
, Wildfly içinde log4j2 bir sorun olabilir, bu yüzden log4j2 sürümü ve yapılandırma, ancak hiçbir şans etrafında çimdik çalıştı.
Wildfly8'deki log4j2'yi nasıl kurabilirim, herkes yardımcı olabilir. Şimdiden çok teşekkürler.
Merak etme neden slf4j log4j2 ile? Slf4j'nin noktası, hangi günlük yöneticisinin kullanıldığı hakkında endişelenmek zorunda değildir. –
@Simon bunun için herhangi bir çözüm var mı? – Nick