Soru slf4j & log4j2 maven kurulum sorgusu


Projemde log4j2 ve slf4j kullanıyorum ve site için maven kullanıyorum. Aşağıdaki pom dosyasını kullanıyorum (yalnızca gösterme bağımlılıkları), ancak bu dosya ile aşağıya kopyalanan hatayı alıyorum - bu işe başlamak için eklemek / kaldırmak istediğim herhangi bir fikir. Hatada ve log4j2 bağımlılıkları sayfasındaki URL’yi zaten ziyaret ettim, lütfen yalnızca cevabınızdaki URL’leri göstermeyiniz.

Mesaj:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

pom dosyası

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <slf4j.version>1.7.7</slf4j.version>
</properties>

   <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>


    <dependency>
        <groupId>com.lmax</groupId>
        <artifactId>disruptor</artifactId>
        <version>3.2.0</version>
    </dependency>

     <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.0.1</version>
     </dependency>

     <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.0.1</version> 
     </dependency>

Güncelleştirme: Pom dosyasıma aşağıdaki bağımlılığı ekledim ve mavenrepositoryumdaki kavanozu görüyorum - yine de mvn clean / install komutunu çalıştırdığımda aynı mesajı görüyorum

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.0.1</version>
    </dependency>

18
2017-08-19 14:56


Menşei




Cevaplar:


Pom dosyasından aşağıdakileri kaçırıyor gibisiniz.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0.1</version>
</dependency>

17
2017-08-19 15:04



Bu sorunu çözmedi
GroupId burada açıklandığı gibi "org.apache.logging.log4j" ve "2.0.1" sürümleri olmalıdır: logging.apache.org/log4j/2.x/maven-artifacts.html - sheltem
benim hatam - evet, sürüm 2.0.1 beta değil ve adaptörler grubu kimliği ile olmalıdır - ali haider
@ user3813256 o zaman sorunu çözmediyse, cevabı neden doğru olarak işaretlediniz? - Danny Bullis


Log4j2 yapılandırmanız doğru (POM tarafı), ancak yazmanız gereken yere slf4j (arka taraf).

Bunu pom dosyanıza eklemelisiniz

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.0.1</version>
</dependency>

Log4j 2 SLF4J Bağlamadır. Göre Log4j 2 SLF4J Ciltleme belgeleri  Log4j 2 SLF4J Bağlama, SLF4J API'sine kodlanmış uygulamaların, uygulama olarak Log4j 2'yi kullanmasına izin verir.

Eğer hala çalışmıyorsa, Eclipse m2e'nin slf4j ile ilgili garip olduğu için Eclipse probleminiz olabilir. Bu ayrıntılı yayına göre SLF4J: "org.slf4j.impl.StaticLoggerBinder" sınıf yüklenemedi. hata Bir çözüm, yapıyı yapmak için harici bir maven kullanmak olabilir.


7
2017-08-19 15:47



Tutuklama yoluyla maven temiz / kurduğumda hala aynı mesajı görüyorum. Benim maven repo - slf4j = api-1.7.7, log4j-slf4j-impl-2.0.1, log4j-api-2.0.1, log4j-core-2.0.1 tüm bağımlılıkları var gibi görünüyor ama ileti alıyorum maven'i çalıştırdığımda ve günlük dosyası çıktıları oluşturulmaz. Ben maven kullanmadım ama lib dizinindeki tüm kavanozlara sahip ve yapı yolunu tutmak için tutulduğumda ben aynı log4j2 xml dosyası ile dosya çıktı almak
@ user3813256: Eclipse kullanmadığım için yeterli olacağını umuyordum, ancak cevabımı başka bir gönderiye referansla güncelledim. - Serge Ballesta
Doğrulayabildiğim en kısa sürede kabul edeceğim - haklı olduğunuzu düşünüyorum ama bunu bilgisayarımda kanıtlamam gerekiyor - yardımlarınız için teşekkürler!


Log4j-slf4j-impl bağımlılığından ayrı olarak, slf4j-ext bağımlılığına da gereksinim duyarsınız.

Görmek http://logging.apache.org/log4j/2.x/log4j-slf4j-impl/dependencies.html


1
2017-08-28 05:33



Son sütun Seçmeli = YES diyor. - Davidea