web-dev-qa-db-fra.com

fichier log4j.properties - WARN Aucun ajout de correcteur n'a pu être trouvé pour l'enregistreur à l'éclipse

J'ai essayé de configurer log4j avec le fichier `log4j.properties '.

Tout fonctionne mais j'ai attiré un étrange avertissement:

log4j: WARN Aucun appender n'a pu être trouvé pour le journal (org.Apache.http.impl.conn.tsccm.ThreadSafeClientConnManager). log4j: WARN Veuillez initialiser correctement le système log4j. log4j: WARN Voir http://logging.Apache.org/log4j/1.2/faq.html#noconfig pour plus d'informations.

Je ne pouvais pas comprendre ce qui ne va pas avec ça. Tout devrait fonctionner.

Contenu de log4j.properties :

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

# 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{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

# Direct log messages to a log file
log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.file=logs/oms_test.log
log4j.appender.file.MaxFileSize=2MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

log4j.appender.debugfile=org.Apache.log4j.RollingFileAppender
log4j.appender.debugfile.file=logs/oms_test-debug.log
log4j.appender.debugfile.layout=org.Apache.log4j.PatternLayout
log4j.appender.debugfile.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 
log4j.logger.com.softserve.edu=DEBUG, debugfile
log4j.logger.com.my.app.somepackage.subpackage.ClassName=INFO

Voici le projet frappé:

project struckture

EDIT:

Je charge log4j.properties à partir du code: _

PropertyConfigurator.configure("src/resourses/log4j.properties");
Logger.getRootLogger();

Edit2:

J'ai essayé de changer d'emplacement log4j.properties à un emplacement différent en tant que src/main/resourses ou src/test/resourses, src/resourses et de modifier le chargement à partir du code. 

Et toujours ça échoue:

log4j:ERROR Could not read configuration file [log4j.properties].
Java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)
    at Java.io.FileInputStream.open(Native Method)
    at Java.io.FileInputStream.<init>(FileInputStream.Java:138)
    at Java.io.FileInputStream.<init>(FileInputStream.Java:97)
    at org.Apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.Java:372)
    at org.Apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.Java:403)
    at com.softserve.edu.SearchingOrdersPageTest.setUp(SearchingOrdersPageTest.Java:31)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:601)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.Java:44)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.Java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.Java:41)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.Java:27)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.Java:31)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.Java:76)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.Java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.Java:193)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.Java:52)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.Java:191)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.Java:42)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.Java:184)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.Java:31)
    at org.junit.runners.ParentRunner.run(ParentRunner.Java:236)
    at org.Eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.Java:50)
    at org.Eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.Java:38)
    at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:467)
    at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:683)
    at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.Java:390)
    at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.Java:197)
log4j:ERROR Ignoring configuration file [log4j.properties].
  • Comment résoudre ce problème?
6
nazar_art

J'ai eu le même problème, et je l'ai résolu quand j'ai mis log4j.xml dans WEB-INF/classes

Cochez cette réponse et répondez initialisez log4j .

4
A.Vila

Placez log4j.properties dans bin (classpath) peut résoudre votre problème.

4
Engine Bai

Où que vous mettiez log4j.properties, assurez-vous de l'appeler en utilisant propertyconfigurator comme indiqué ci-dessous

     PropertyConfigurator.configure("D:\\logs\\log4j.properties");    

     final Logger  LOGGER = Logger.getRootLogger();
     LOGGER.info("sddd");
     LOGGER.debug("ffff");**
0
Sanjay-Dev