Servlet Logging - Standard Servlet

Hallo

ich möchte im Servlet was logen, ohne extra was zu laden ... sollte ja irgendwie auch schon mit boardmitteln gehen
hab da was gegogelt:

Java:
this.getServletContext().log("Hallali");
Nur find ich meinen Logeintrag in keinem LogFile?

Was mach ich'n Falsch?

Gruss
 
N

nillehammer

Das "Bordmittel" für Logging unter Java ist das Java Logging API. Das ist bei Java mit dabei. Du musst also keine extra Bibliotheken (wie z.B. Log4J) laden. Infos gibt's hier: Java Logging Technology

Nur find ich meinen Logeintrag in keinem LogFile?
die Log-Methoden der Servlet-API werden von Tomcat als INFO-Level behandelt, wenn nur ein String übergeben wird. Hast Du in deinen Loggingeinstellungen vielleicht die Severety auf WARN gesetzt? Dann würden die INFO-Meldugnen weggefiltert. Ansonsten müssten die Logeinträge in catalina.out/direkt auf der Konsole erscheinen.
 
N

nillehammer

Du kannst bei der Benutzung der ServletXXX.log()-Methoden die Severity überhaupt nicht beenflussen. Das hängt vom Container ab. Bei Tomcat ist es so: Die log-Methoden, die nur einen String als Parameter haben, werden mit INFO geloggt, die log-Methoden, die zusätzlich noch eine Exception als Parameter haben, werden mit Severity ERROR. geloggt. Nähere Infos gibts hier: Apache Tomcat 6.0 - Logging in Tomcat

Deswegen rate ich von der Benutzung dieser Methoden ab und rate zur Nutzung eines Logging-Frameworks. Das Java-Logging API hat den Vorteil, dass es keine extra jars braucht. Log4J gefällt mir persönlich aber besser. Wenn Du Deinen Code unabhängig vom Logging-Framework halten willst, dann setz entweder commons-logging oder slf4j ein.
 
Zuletzt bearbeitet von einem Moderator:
Danke : das sind klare Aussagen

log4j gefällt mir auch besser, ich will nur was logen bevor log4j geladen wird.
 
N

nillehammer

Nachdem Du Dich mit Deiner Webanwendung in einer Containerumgebung bewegst, ist das Logging-Framework bereits geladen. Wenn Du (wie Tomcat übrigens selbst auch) Deine Log-Statemenst nicht direkt gegen die log4j-Klassen programmierst, sondern bspw. gegen commons-logging, brauchst Du Dir überhaupt keine Gedanken zu machen.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben