Finden log4j.Eigenschaften, die in IDEE,
Update - dieses problem wurde von meinem eigenen zu tun.
In einer Phase dieser bestimmten test-Klasse hatte einen test, um sicherzustellen, dass etwas protokolliert wurde. Im setup hatte ich zuvor entfernt alle appenders und fügte meine eigenen appender für die Herstellung von test-Zeit Aussagen. Diese Prüfung ist längst vorbei, aber dieses nugget blieb im setup: Logger.getRootLogger().removeAllAppenders();
.
Sorry für den falschen alarm. 🙂
IDEE habe ich den folgenden test:
@Test
public void shouldLog() {
URL resource = Thread.currentThread().getContextClassLoader()
.getResource("log4j.properties");
System.out.println("resource = " + resource);
final Logger logger = Logger.getLogger(getClass());
logger.info("Hello world");
}
Ausgaben folgendermassen:
"C:\Program Files\Java\jdk1.5.0_18\bin\java" -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 11.1\lib\idea_rt.jar" -ea -Dfile.encoding=UTF-8 com.intellij.rt.execution.CommandLineWrapper C:\DOCUME~1\JMAWSO~1.NT3\LOCALS~1\Temp\classpath2294205410661538428.tmp @vm_params C:\DOCUME~1\JMAWSO~1.NT3\LOCALS~1\Temp\vm_params5645362020129462784.tmp com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 au.com.gmm.repo.RepoThreadCleanupServiceTest,shouldLog
resource = file:/C:/user/jem/projects/GMM/out/test/cashflow/log4j.properties
log4j:WARN No appenders could be found for logger (au.com.gmm.repo.RepoThreadCleanupServiceTest).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Process finished with exit code 0
Dies ist ein bekanntes problem von vielen newbies immer und immer wieder. Ich fühle mich ein wenig albern sein ratlos von heute.
http://logging.apache.org/log4j/1.2/faq.html#noconfig sagt log4j uses Thread.getContextClassLoader().getResource() to locate the default configuration files
. Allerdings ist mein test überprüft Thread.currentThread().getContextClassLoader().getResource("log4j.properties")
und findet die properties-Datei kein problem.
Den Inhalt der Datei ist:
log4j.rootLogger=DEBUG, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} %c - %m%n
InformationsquelleAutor Synesso | 2012-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mit log4j mit slf4j in IntelliJ IDEA und es funktioniert perfekt für mich. Nur sind diese Gläser in Ihre Anwendung Abhängigkeiten in IntelliJ:
Als steckte irgendwo in Ihrer app die log4j-Konfiguration. Aber vergessen Sie NICHT, um zu markieren, dass Speicherort der log4j.Eigenschaften in IntelliJ als Quellen oder wenn Sie unter Verwendung es auf tests, die als Test-Quellen:
log4j.Eigenschaften:
Dann in Ihre java-Klasse verwenden Sie diese Option, um den logger:
Und Sie werden nicht sehen, alle von Warnungen wie:
No appenders could be found for logger
.Hoffe, das hilft.
Ooops, das problem war meine eigene Schuld. Siehe aktualisierte Frage. Richtige Antwort vergeben, obwohl slf4j ist nicht notwendig und man konnte unten zu trimmen, dass log4j.Eigenschaften ein bisschen.
Danke, die Kennzeichnung als "Quelle" Feste mein problem! \o/
InformationsquelleAutor Paulius Matulionis