Olá:
Estou tentando usar a API de logging em meu servlet. Para isso estou fazendo o seguinte.
No meu Servlet, método init():
package bomi.servlet;
import java.util.logging.*;
import javax.servlet.*;
import javax.servlet.http.*;
import bomi.util.*;
public class BomiServlet extends HttpServlet {
private Logger logger;
// ...
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
Contexto.getInstance().setPath(
conf.getServletContext().getInitParameter("conf"));
Contexto.getInstance().iniciarLogging();
logger = Logger.getLogger("bomi.servlet.bomiservlet");
logger.info("Iniciando Servlet");
}
}
Na classe bomi.Contexto:
package bomi.util;
import java.util.*;
import java.io.*;
public final class Contexto {
private static Contexto instance;
private static String path = "conf/";
/**Construtor privado.
*
*/
private Contexto() {
}
/**
*
* @return Retorna instancia única da classe.
*/
public static Contexto getInstance() {
if (instance == null) {
instance = new Contexto();
}
return instance;
}
public void setPath(String string) {
path = string;
}
/**
*
* @param fileName Nome do arquivo de propriedades. Ele deve estar
* localizado no diretíório conf.
* @return Propriedades relacionadas com o arquivo indicado por fileName.
*/
public Properties getProperties(String fileName) {
Properties bomiProperties = new Properties();
try {
bomiProperties.load(new FileInputStream(path + fileName));
} catch (FileNotFoundException fnfEx) {
throw new BomiException(
"Nao foi possível localizar o arquivo " + path + fileName);
} catch (IOException ioEx) {
throw new BomiException(ioEx);
}
return bomiProperties;
}
/**
*
* @return
*/
public Properties getBomiProperties() {
return this.getProperties("bomi.properties");
}
public void iniciarLogging() {
System.out.println("Carregando propriedades do log: " + path
+ getBomiProperties().getProperty("java.util.logging.config.file"));
System.setProperty(
"java.util.logging.config.file",
path
+ getBomiProperties().getProperty(
"java.util.logging.config.file"));
}
}
O arquivo de properties de logging:
java.util.logging.pattern=bomi.log
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
java.util.logging.level = ALL
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.FileHandler.level = ALL
Quando acesso o Servlet, aparece as seguintes mensagens no console do Tomcat:
Carregando propriedades do log: C:/java/Tomcat 4.1/webapps/bomi/WEB-INF/conf/logging.properties
13/10/2003 11:14:25 bomi.servlet.BomiServlet init
INFO: Iniciando Servlet
Ou seja, aparentemente está achando o arquivo logging.properties. Entretanto, quando vou procurar pelo arquivo de log (bomi.log) no diretório do Tomcat, não o encontro. Pelo visto o logging está funcionando apenas para console não para arquivo.
Para o pessoal com mais experiência: o que devo fazer?
Grato,