Update - dieses Problem war von mir selbst.Finden von log4j.properties in IDEA
In einer bestimmten Phase hatte diese bestimmte Testklasse einen Test, um sicherzustellen, dass etwas protokolliert wurde. Im Setup hatte ich zuvor alle Appender entfernt und meinen eigenen Appender hinzugefügt, um Test-Testzeiten zu erstellen. Dieser Test ist längst vorbei, aber dieses Nugget blieb im Setup: Logger.getRootLogger().removeAllAppenders();
.
Entschuldigung für den Fehlalarm. :)
In IDEA 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");
}
Es gibt so:
"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 Neulingen gesehen immer und immer wieder. Ich fühle mich ein bisschen albern, wenn ich heute darüber stolpere.
http://logging.apache.org/log4j/1.2/faq.html#noconfig sagt log4j uses Thread.getContextClassLoader().getResource() to locate the default configuration files
. Mein Test überprüft jedoch Thread.currentThread().getContextClassLoader().getResource("log4j.properties")
und findet die Eigenschaftendatei ohne Probleme.
Der 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
Vielen Dank für Ihre Antwort. Leider hilft es nicht. – Synesso
Hoppla, das Problem war meine eigene Schuld. Siehe aktualisierte Frage. Die richtige Antwort wird vergeben, obwohl slf4j nicht notwendig ist und Sie könnten diese log4j.properties ein wenig verkleinern. – Synesso
Danke, es als "Quelle" markiert behoben mein Problem! \O/ – koenmetsu