Como faço para criar um log nomeado em $ TOMCAT_HOME / logs para o meu servlet?
Pergunta
Atualmente estou registrando via mais simples dos métodos dentro de meu servlet usando Tomcat. Eu uso o ServletConfig.getServletContext (). Log de atividade recorde. Este gravações no localhost.YYYY-MM-DD.log em $ TOMCAT_HOME / logs.
Eu não quero ficar longe da simplicidade deste mecanismo de registro, a menos que seja absolutamente necessário. Mas eu gostaria de citar o meu arquivo de log. Em vez de "localhost" .YYYY-MM-DD.log, há uma maneira de tê-lo escrever a "myAppName" .YYYY-MM-DD.log. Eu sei que eu poderia criar meu próprio mecanismo, mas novamente, eu procurando a simplicidade aqui.
Eu estou esperando para ficar longe de uma estrutura completa como Log4j.
Solução
Para Tomcat 6.x, você pode alterar o registro de configuração no conf / logging.properties.
Mas eu prefiro uma configuração separada com Log4j ...
Outras dicas
Assim, há uma maneira via $ TOMCAT_HOME / conf / logging.properties sem tocar meu código servlet ...
Antes de ...
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
depois ...
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
em seguida, adicione ...
6localhost.org.apache.juli.FileHandler.level = FINE
6localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
6localhost.org.apache.juli.FileHandler.prefix = myAppName.
e add ...
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 tomcat salto. Isto criou um $ TOMCAT_HOME / logs / myAppName.2008-10-14.log com meu ServletConfig.getServletContext simplista (). Log () apenas mensagens.