2010-11-05 40 views
15

Tüm DEBUG mesajlarını maven'deki test sırasında konsola kaydetmeye çalışıyorum. Bu amaçla, src/main/resources/log4j.properties'da zaten var olan yapılandırmayı geçersiz kılacak bir dosya src/test/resources/log4j.properties oluşturdum. Ne yazık ki böyle bir geçersizleştirme gerçekleşmiyor. Neden ve nasıl düzeltilir?Test sırasında log4j.properties nasıl geçersiz kılınır?

+0

çalışması gerekir. ;) – Bozho

+1

@Bozho Ben de öyle düşünüyorum ama bu iki dosya çakışması gibi görünüyor. Onlara sahip olduğumda iki tane NO oturum açma yapılandırması çalışır. İkisi de göz ardı ediliyor ... – yegor256

+0

Sanırım maven yoldaki her iki kaynağı da içeriyor, bu yüzden log4j hangisinin kullanılacağı konusunda kafa karıştırıyor ve bunun yerine hiçbir şey göstermiyor. Robert'in çözümü işe yarıyor mu? –

cevap

3

olduğu gibi bu çalışması gerekir, ve çalışıyor. Sorun başka bir yer.

ps. Sınıf yolumda logger'larla bir karışıklık yaşadım: jog4j, slf4j, logback (diğer bağımlılıklardan). Anladığım kadarıyla hepsi çatışma içinde. Bu karmaşayı henüz temizlemedim ve hala tüm paketleri bir günlük kaydı ve bir yapılandırmayı nasıl kullanacaklarını bilmiyorum.

+1

Ne yazıyor – Bozho

+1

Bu nasıl dağınıklığı temizlemedin. Hepsinin birlikte nasıl çalışacağını ve doğru cevabı nasıl alacağını bilmiyor musunuz? –

26

Test yapılandırma dosyanızı yeniden adlandırın. log4j-surefire.properties ve yapılandırmak log4j SureFire yürütme sırasında onu almaya:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <systemPropertyVariables> 
      <log4j.configuration>file:${project.build.testOutputDirectory}/log4j-surefire.properties</log4j.configuration> 
     </systemPropertyVariables> 
    </configuration> 
</plugin> 
+0

Cevabınızı yükselttim, bunun için çok teşekkürler. Ne yazık ki, benim durumumda sorun değil, çünkü sorun dosyanın konumuyla değil, 'sl4r' ile birlikte' log4j' kullanımı. – yegor256

+1

Sağ. O zaman cevabınızı yazmalı ve kabul etmelisiniz. –

İlgili konular