Zunächst möchten wir Ihnen einen Hintergrund zeigen, warum die Protokollierung im Testmodus deaktiviert ist. Dies war Guillame Bort Antwort auf eine Frage im Spiel Forum (siehe this thread):
Der Logger wird nun im Testmodus deaktiviert, da es einen großen PermGen Raum Leck verursacht wurde, wenn Tests ausgeführt werden. Aber wir arbeiten daran, Tests in einer gegabelten JVM auszuführen, so dass wir es bald wieder aktivieren werden.
Als Abhilfe kann, habe ich meine eigenen Logger wie dieser (Scala-Code):
import play.api.{Play, LoggerLike, Logger}
import org.slf4j.LoggerFactory
import org.slf4j.impl.SimpleLoggerFactory
object MyLogger extends LoggerLike {
val factory = if (Play.isTest(Play.current)) {
new SimpleLoggerFactory()
} else {
LoggerFactory.getILoggerFactory
}
val redirectDebugToInfo = factory.isInstanceOf[SimpleLoggerFactory]
val logger = factory.getLogger("application")
def apply(name: String): Logger = new Logger(factory.getLogger(name))
def apply[T](clazz: Class[T]): Logger = new Logger(factory.getLogger(clazz.getCanonicalName))
// this method is to make debug statements to show up in test mode
override def debug(m: => String) = {
if (redirectDebugToInfo) {
info(m)
} else {
super.debug(m)
}
}
}
Ich weiß nicht, wie dieser Code über das PermGen Leck im Allgemeinen verhält, aber so weit ich didn Habe dieses Problem nicht. Um es Sie arbeiten zu müssen, diese Abhängigkeit hinzuzufügen:
"org.slf4j" % "slf4j-simple" % "1.6.4"
Wie gehen Sie mit der 'SLF4J : Klassenpfad enthält mehrere SLF4J-Bindungen.warning? – Rajish
@Rajish Ich behandle es nicht, da es nur eine vorübergehende Abhilfe ist. Für mich gab die Warnung keine Probleme. Gibt es Ihnen irgendwelche Probleme? – rintcius
@rintcius Danke für die Problemumgehung! Ich benutze Java und soweit ich weiß kann ich einfach Scala Code mischen. Ich habe das als Scala-Datei zu meinem Java-Projekt hinzugefügt, aber es scheint nicht zu funktionieren. Mit Blick auf Ihren Code sollte ich Logger.debug ("debug") Gedanken wie gewohnt loggen können? Ich habe auch die Abhängigkeiten hinzugefügt. –