Kaydedici (log4j) için hiçbir ek bulunamadı?


369

Günlük yoluma log4j koydum, ancak uygulamamı çalıştırdığımda aşağıdaki iletiyi alıyorum:

log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Bu uyarılar ne anlama geliyor? Buradaki aplikatör nedir?


5
Bu bir çalışma zamanı uyarısı gibi görünüyor. Derlerken bunu gördüğünüzden emin misiniz?
maba

5
Uyarıların son satırında URL'yi ziyaret etmeyi denediniz mi?
Jesper

4
Evet!!! ama fazla bir şey söylemiyor ... Uygulayıcımı yapılandırmak için bir özellik dosyasına ihtiyacım olduğunu öğrendim!
maximus

Ekleyiciyi eklemek için yapılandırma dosyalarını elle düzenleyin. Doğru ve geçerli yapılandırma belgesine sahip olduğunuzdan emin olun.
Roman C

Yanıtlar:


464

Log4j rehberine bu kısa giriş biraz eski ama yine de geçerlidir.

Bu kılavuz, kaydedicilerin ve ekleyicilerin nasıl kullanılacağı hakkında bazı bilgiler verecektir.


Sadece devam edebilmeniz için alabileceğiniz iki basit yaklaşımınız var.

Birincisi, bu satırı ana yönteminize eklemektir:

BasicConfigurator.configure();

İkinci yaklaşım, bu standart log4j.properties(yukarıda belirtilen kılavuzdan alınmıştır) dosyayı sınıf yolunuza eklemektir :

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

3
Sadece ilk adım tamam. Log4j rehberine kısa bir girişten alıntı
ray6080 21:14

65
Yeni yanılmalar için ... src / main / resources dizinine log4j.properties dosyasını ekleyin ve bu da bir maven projeniz olduğunu varsayar. Src / main / resources içindeki şeyler sınıf yoluna dahildir.
keni

3
IntelliJ idea açık modül ayarında, kaynak klasörünüzü seçin ve kaynakları tıklayın, her kaynağınızı otomatik olarak sınıfyoluna ekleyecektir.
Waqas

1
Yardım etmedim. C ++ için Eclipse Neon kullanıyorum ve log4j.properties'i eclipse çalıştırılabilirinin yanına koydum ve yardım etmedim
Nadav B

log4j.rootLogger=DEBUG, A1her zaman özlediğim çizgi.
Mohammad Faisal

74

Görünüşe göre log4j.propertiesdosyanızın konumunu Eclipse'deki Classpath'e eklemeniz gerekiyor .

Eclipse'de projenizin açık olduğundan emin olun, ardından Eclipse'in üst kısmındaki "Çalıştır" menüsünü ve aşağıdakileri tıklayın:

  1. Çalıştırmak
  2. Yapılandırmaları Çalıştır
  3. Sınıf yolu (sekme)
  4. Kullanıcı Girişleri
  5. Gelişmiş (sağdaki düğme)
  6. Klasör Ekle
  7. ardından log4j.properties dosyanızı içeren klasöre gidin
  8. Uygulamak
  9. Çalıştırmak

Hata mesajı artık görünmemelidir.


Uyarı mesajları görünmüyor, ancak yine de günlükler istenen konuma
yazılmıyor

48

Hızlı çözüm:

  1. ana işleve kod ekle :

    String log4jConfPath = "/path/to/log4j.properties";
    PropertyConfigurator.configure(log4jConfPath);
  2. / path / to konumunda log4j.properties adlı bir dosya oluşturun

    log4j.rootLogger=INFO, stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

Log4j.properties dosyasını src / test / resource gibi kaynak dizinine yerleştirin
Alok

Log4j.properties yolunun açık bir şekilde bildirilmesini önlemek için; proje klasörünüze yerleştirin ve dizeye erişin log4jConfPath = System.getProperty ("user.dir") + File.separator + "log4j.properties";
Amimo Benja

36

Bu sadece bir uyarı.

tespit

Bu varsayılan yapılandırma dosyaları oluşur log4j.propertiesve log4j.xmlbulunamayan ve uygulama gerçekleştirdiği hiçbir açık yapılandırması.

Bunu düzeltmek için, sınıf yolundaki bir konumu oluşturun / kopyalayın log4j.propertiesveya log4j.xmliçine yerleştirin (genellikle jar dosyalarıyla aynıdır).

İsteğe bağlı olarak java seçeneğini ayarlayın: -Dlog4j.configuration=file:///path/to/log4j.properties.

log4jkullandığı Thread.getContextClassLoader().getResource()varsayılan yapılandırma dosyaların bulunmasını ve doğrudan dosya sistemini kontrol etmez. Yerleştirilecek uygun yeri bilmek log4j.propertiesveya log4j.xmlkullanılan sınıf yükleyicinin arama stratejisini anlamak gerekir. log4jkonsola veya dosya sistemine çıkış bazı ortamlarda yasaklanmış olabileceğinden, varsayılan bir yapılandırma sağlamaz.

Hata ayıklama

Hata ayıklama için -Dlog4j.debug=trueparametre kullanmayı deneyebilirsiniz .

Yapılandırması log4j.properties

Örnek yapılandırma log4j.properties:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN

Birden çok ek kullanan başka bir yapılandırma dosyası:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

Apache Solr

Solr kullanıyorsanız <solr>/example/resources/log4j.properties, sınıf yolundaki bir konuma kopyalayın .

log4j.propertiesSolr'un örnek yapılandırması şöyle:

#  Logging level
solr.log=logs/
log4j.rootLogger=INFO, file, CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x \u2013 %m%n

#- size rotation with log cleanup.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=4MB
log4j.appender.file.MaxBackupIndex=9

#- File to log to and log format
log4j.appender.file.File=${solr.log}/solr.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %C; %m\n

log4j.logger.org.apache.zookeeper=WARN
log4j.logger.org.apache.hadoop=WARN

# set to INFO to enable infostream log messages
log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF

Ayrıca bakınız:


13

Cevapların çoğu burada önerdi log4j.propertiesdosyası (maven proje için, bu bulunmalıdır sağ konuma yerleştirilmelidir src/main/resources)

Ama benim için sorun, benim log4j.propertiesdoğru yapılandırılmamış olması. İşte benim için çalışan bir örnek, önce deneyebilirsiniz.

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

1
Log4j'nin "dosyayı bulamıyor" ve "dosyadaki eksik spec" i aynı hata olarak görmesi bir zaman kaybıdır.
Ed Norris

1
Benim için bu en iyi cevap. Oy veriyorum ve cevabınıza bazı açıklamalar ekledim.
schlebe

Benim için en iyi cevap !!!
nosequeweaponer

8

Daha önce açıklandığı gibi 2 yaklaşım vardır

Birincisi, bu satırı ana yönteminize eklemektir:

BasicConfigurator.configure();

İkinci yaklaşım, bu standart log4j.properties dosyasını sınıf yolunuza eklemektir :

İkinci yaklaşımı uygularken dosyayı doğru şekilde başlattığınızdan emin olmanız gerekir, örn.

Properties props = new Properties();
props.load(new FileInputStream("log4j property file path"));
props.setProperty("log4j.appender.File.File", "Folder where you want to store log files/" + "File Name");

Günlük dosyalarını saklamak için gerekli klasörü oluşturduğunuzdan emin olun.


Aynı sorunu yaşıyordum ve BasicConfigurator.configure (); ana yöntemde ve şimdi kod düzgün çalışıyor.
Surabhi Pandey

7

LoggerKodunuzdaki bir iletiyi günlüğe kaydetmek için kullanın . AppenderBir eklenen bir nesne olan Loggerbelirli bir hedefe mesaj yazmak için. Orada FileAppendermetin dosyaları veya yazma ConsoleAppenderKonsolu yazmak için. Daha fazla yardım için Logger ve Appender kurulum kodunuzu göstermeniz gerekir.

Logger ve Appender arasındaki etkileşimi daha iyi anlamak için lütfen eğiticiyi okuyun .


6

Özellikler dosyasının düzgün ayarlandığından emin olun. Ve yine, derleyici özellikleri dosyasını bulamıyor gibi görünüyor, pom'da aşağıdaki gibi ayarlayabilirsiniz (sadece maven projesini kullandığınızda).

<build>
       <sourceDirectory> src/main/java</sourceDirectory>
       <testSourceDirectory> src/test/java</testSourceDirectory>
        <resources>
             <resource>
                  <directory>resources</directory>
             </resource>
        </resources>           
</build >

Bu! Bir cevap bulmak için saatler harcadım. Vaka kodum Linux'ta iyi çalışıyor ancak pencerelerde (aynı NB IDE) bu hatayı var ve yukarıdaki tüm çözümler çalışmıyor!
Tiana987642

5

Aynı hatayı alıyorum. İşte bu hata iletisine yol açan sorun:

Log4j yapılandırmadan önce Logger'ı kullanan bazı nesneler oluşturuyorum:

Logger.getLogger(Lang.class.getName()).debug("Loading language: " + filename);

Çözüm: Log4j'yi ana yöntemde başlangıçta yapılandırın:

PropertyConfigurator.configure(xmlLog4JConfigFile); 
// or BasicConfigurator.configure(); if you dont have a config file

Çok teşekkür ederim!!! Herkes sadece Bahar ya da Tomcat ya da konfigürasyonu başlatmak için ne varsa varsayar.
Windgazer


3

Bunun (RCP4'te) gerçekleşmesinin bir başka nedeni, hedef dosyanızda birden çok günlük çerçevesi kullanmanızdır. Örnek olarak, hedef dosya içerik sekmenizde slf4j, log4j ve ch.qos.logback.slf4j kombinasyonunu kullanırsanız bu durum ortaya çıkar.


3

İlk kod olarak aşağıdakileri ekleyin:

Properties prop = new Properties();
prop.setProperty("log4j.rootLogger", "WARN");
PropertyConfigurator.configure(prop);

2

Benim durumumda, hata " eklenti " bayrağı oldu . Kök proje paketiniz için "false" ise, alt paketlerde bir appender olmaz ve " appender bulunamadı " hatasını görürsünüz .


2

JUnit test sınıfını çalıştırmayı denediğimde aynı sorunla karşılaştım.

Logcj.properties dosyasını src / test / resources klasörüne el ile ekledikten sonra sorun çözüldü.

Log4j.properties dosyasına aşağıdaki kodu eklemek sorunu çözdü:

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

1

Intellij 12 içinde maven ile yürütülebilir bir kavanoz oluşturmaya çalışırken bu sorunla karşılaştım. Java manifest dosyası bir sınıf yolu içermediği için log4j özellikler dosyasının kök düzeyinde (burada jar dosyası çalıştırıldı.)

FYI Logger'ı böyle alıyordum:

Logger log = LogManager.getLogger(MyClassIWantedToLogFrom.class);

Ve bunu içeren bir pom dosyası ile çalışmak için başardı:

         <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2-beta-5</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath> 
                        <mainClass>com.mycompany.mainPackage.mainClass</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.</Class-Path> <!-- need to add current directory to classpath properties files can be found -->
                    </manifestEntries>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

1

Eclipse'de projenizin açık olduğundan emin olun, ardından Eclipse'in üst kısmındaki "Çalıştır" menüsünü ve aşağıdakileri tıklayın:

  1. Çalıştırmak

  2. Yapılandırmaları Çalıştır

  3. Sınıf yolu (sekme)

  4. Kullanıcı Girişleri

  5. sağdaki kavanozu ekle

  6. log4j jar dosyası ekle

  7. Uygulamak

  8. Çalıştırmak

Hata mesajı artık görünmemelidir.


1

Nedeni staticbazılarında kelime eksikliği olabilir :

final static Logger logging = Logger.getLogger(ProcessorTest.class);

Logger örnek alanını yaparsam, tam olarak bu uyarıyı alıyorum:

No appenders could be found for logger (org.apache.kafka.producer.Sender)

Daha da kötüsü, uyarı ProcessorTest, hatanın nerede yaşandığına değil , sorun kaynağı olarak tamamen farklı bir sınıfa (Gönderen) işaret eder. Bu sınıfın doğru set logger'ı var ve herhangi bir değişikliğe gerek yok! Sorunu çağlar boyunca arayabiliriz!


1

Log4j2 kullanırken aynı sorunla karşılaştım. Benim sorunum yanlış bağımlı kitaplık kullanmaktan kaynaklanıyor:

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <scope>runtime</scope>
    </dependency>

Bunun yerine, kullanmalıyım:

<dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <scope>runtime</scope>
    </dependency>

Benim durumumda, benim "kaynaklar" dizininde tanımlanmış ve tarafından kullanmak için belirtilen bir log4j2.xml var:

System.setProperty("log4j.configurationFile", "log4j2.xml");

1

Log4j, programınızda bir ilk günlük satırı oluşturmak için Log4j Java kodu ararken bu uyarı mesajını görüntüler.

Şu anda Log4j 2 şey yapıyor

  1. log4j.propertiesdosyayı bulmak için arar
  2. içinde tanımlayıcı ekler log4j.properties

Eğer log4Jbulamazsa log4j.propertiesdosya veya eğer appender beyan log4j.rootloggerbaşka bir yerde tanımlanmamış log4j.propertiesdosyanın uyarı mesajı görüntülenir.

DİKKAT: Özellikler dosyasının içeriği doğru olmalıdır.

Aşağıdaki içerik doğru DEĞİL

log4j.rootLogger=file

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=c:/Trace/MsgStackLogging.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%m%n
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false

çünkü fileappender log4j.rootloggerifadede LOWER-CASE olarak bildirildi ve UPPER-CASE kullanılarak log4j.appender deyiminde tanımlandı!

Doğru bir dosya

log4j.rootLogger=FILE

log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=c:/Trace/MsgStackLogging.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%m%n
log4j.appender.FILE.ImmediateFlush=true
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=false

MAVEN kullanılıyorsa, log4j.properties dosyalarını src/main/resourcesKOYUN ve bir MAVEN derlemesi başlatmalısınız.

Log4j.properties dosyası daha sonra target/classesklasöre kopyalanır .

Log4J içinde bulunduğu log4j.propertiesdosyayı kullan target/classes!


1

Ben de bu problemi yaşadım. IntelliJ IDEA içindeki kaynaklar dizinini işaretlemeyi unuttum

  1. Dizininize sağ tıklayın
  2. Dizini olarak işaretle
  3. Kaynak kökü

1

Eclipse kullanıyorsanız ve her şey önceden çalıştıktan sonra bu sorun hiçbir yerde ortaya çıkmadıysa, devam etmeyi deneyin Project - Clean - Clean.


0

Eclipse kurulumum , dosya konumunda olmasına rağmen Eclipse'den JUnit testleri log4j.propertiesçalıştırırken bulamadısrc/test/resources .

Bunun nedeni Eclipse'in (veya m2e bağlayıcısının) src/test/resourcesbeklenen çıktı klasörüne içerik kopyalamamasıydı target/test-classes- kök neden, Java Build Path -> Kaynak sekmesi -> Derleme yolundaki kaynak klasörlerin -> src / test / kaynaklar , bir şekilde bir Excluded: **giriş vardı. Hariç tutulan girişi kaldırdım .

Alternatif olarak, el ile kopyalanan olabilirdi src/test/resources/log4j.propertiesiçin target/test-classes/log4j.properties.


0

Eğer log4j.propertiesüzerinde sınıf gerçekten de, bir uygulamanın sunucuya dağıtım için WAR dosyası yapmak Bahar Boot kullanırken, bir ihmal vardır web.xmlBahar Boot en autoconfigure lehine dosyayı ve herhangi bir günlük iletilerini almıyorsanız, açıkça gerek Log4j'yi yapılandırın. Log4j 1.2.x kullandığınızı varsayarsak:

public class AppConfig extends SpringBootServletInitializer {

    public static void main( String[] args ) {
        // Launch the application
        ConfigurableApplicationContext context = SpringApplication.run( AppConfig.class, args );
    }

    @Override
    protected SpringApplicationBuilder configure( SpringApplicationBuilder application ) {
        InputStream log4j = this.getClass().getClassLoader().getResourceAsStream("log4j.properties");
        PropertyConfigurator.configure(log4j);
        return application;
    }

// Other beans as required...
}

0

Belki alaka projesi jav derleme yolunda log4j içerir ekleyin, ben ecripse kullanarak bir mahout projede bu sorunu bir araya geldiğinde içine mahout_h2o ekleyin, işe yarıyor!


0

çok sayıda projeyle birlikte çalışırsanız bir stil problemiyle karşılaşabilirsiniz.

* Bir lof4j.properties dosyasına sahip olmanız gerekir ve bu dosya diğer projenin günlük özelliklerini içerir.

* Ayrıca proje Linux işletim sistemi çalışırken log4j özellikleri dosyalarını src yoluna koymayı deneyebilirsiniz, diğer proje kütüphaneleri ve log4.properties dosyaları tek bir klasör altında sınıf yolunda bir konuma olabilir.


0

İlk içe aktarma:

 import org.apache.log4j.PropertyConfigurator;

Ardından ana yönteme aşağıdaki kodu ekleyin:

String log4jConfPath ="path to/log4j.properties";
PropertyConfigurator.configure(log4jConfPath);

Bir dosya oluşturun yolunda ve o dosyaya kod aşağıda ekleyin.

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

0

Bu sitedeki çözüm benim için çalıştı https://crunchify.com/java-how-to-configure-log4j-logger-property-correctly/ . Artık log4j'den hiç uyarı görmüyorum

Bunu src / main / resources dizinine koyduğum bir log4j.properties dosyasına koydum

# This sets the global logging level and specifies the appenders
log4j.rootLogger=INFO, theConsoleAppender

# settings for the console appender
log4j.appender.theConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.theConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.theConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

0

Her şeyden önce: Bir log4j.properties dosyası oluşturun

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Src / main / resources / dizinine yerleştirin

Bundan sonra, bu 2 bağımlılığı kullanın:

<dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.5</version>
        </dependency>

Bu son bağımlılığı POM dosyasına eklemek gerekir:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.5.RELEASE</version>
        </dependency>

0

Dlog4j.configuration log4j JVM bağımsız değişkenini göz önünde bulundurun

Genel olarak:

Log4j yapılandırma dosyasını gösteren JVM bağımsız değişkenini ekleyin. Sözdizimi aşağıdaki gibidir:

java [ options ] -jar file.jar [ arguments ]

Gerçek bir komut satırı örneği aşağıdaki gibidir:

java -Dlog4j.configuration=conf/log4j.xml -jar myJarFile.jar myArg1 myArg2

IntelliJ IDE kullanıcıları için:

1.Run/Debug Configurations
2.Edit configurations...
3.VM options
4.Enter the same value also starting with "-D"

İpuçları:

1.Eclipse IDE kullanıcıları eşdeğer bir yaklaşım bulacak

2.Çalışma / hata ayıklama yapılandırma düzenleyicisi için, zamanın başlangıcında, çalıştırılabilir dosyanızın orada olmaması büyük olasılıktır. Şu anda üzerinde çalıştığınız projenin boyutuna bağlı olarak, bulmak için dizinlerde gezinmek hoş olmayabilir. Yapılandırma / hata ayıklama yapılandırmasına devam etmeden önce dosyayı bir kez çalıştırırsanız / çalıştırırsanız (oynat'ı tıkla) daha az güçlük çekerYürütme sonucu ne olursa olsun, getirir.

3.Çalışma dizininize, göreli yollara ve sınıfyoluna dikkat edin.


-4

Java tutulmasında conf_ref dosyasını conf klasörüne kopyalayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.