Come posso creare un registro con nome in $ TOMCAT_HOME / logs per il mio servlet?
Domanda
Attualmente sto registrando tramite il più semplice dei metodi all'interno del mio servlet usando Tomcat. Uso il registro ServletConfig.getServletContext (). Per registrare l'attività. Questo scrive su localhost.YYYY-MM-DD.log in $ TOMCAT_HOME / logs.
Non voglio allontanarmi dalla semplicità di questo meccanismo di registrazione se non assolutamente necessario. Ma vorrei nominare il mio file di registro. Invece di "quothost locale" .YYYY-MM-DD.log, c'è un modo per farlo scrivere su "myAppName" .YYYY-MM-DD.log. So che potrei creare il mio meccanismo, ma di nuovo cerco qui la semplicità.
Spero di stare lontano da un framework completo come Log4j.
Soluzione
Per Tomcat 6.x, è possibile modificare la configurazione della registrazione in conf / logging.properties.
Ma preferisco una configurazione separata con Log4j ...
Altri suggerimenti
Quindi c'è un modo tramite $ TOMCAT_HOME / conf / logging.properties senza toccare il mio codice servlet ...
prima ...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
dopo ...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, 6localhost.org.apache.juli.FileHandler
quindi aggiungi ...
6localhost.org.apache.juli.FileHandler.level = FINE
6localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
6localhost.org.apache.juli.FileHandler.prefix = myAppName.
e aggiungi ...
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].handlers = 6localhost.org.apache.juli.FileHandler
e rimbalza tomcat. Questo ha creato un $ TOMCAT_HOME / logs / myAppName.2008-10-14.log con i miei semplici messaggi ServletConfig.getServletContext (). Log ().