Servlet com log4j

1 resposta
K

Estou tentando utilizar o log4j no meu servlet:

package controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class ServletTeste extends HttpServlet{
	
	public Logger logger = Logger.getLogger(ServletTeste.class);
	
	public void init(ServletContext config){
		 String resource = "/controller/config.properties";
	     URL configFileResource = ServletTeste.class.getResource(resource);
	     PropertyConfigurator.configure(configFileResource);  
	}
	
	public void doGet(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException{
		
		response.setContentType("text/html");
		
		try{
			
		PrintWriter out = response.getWriter();
		out.println("<b>Imprimindo</b>");
		logger.info("Imprimiu na tela...");
		
		}
		catch(Exception e){
			logger.error("Erro: " + e.getMessage());
		}		
	}

}

E o config.properties:

#### Usando 2 appenders, 1 para logar no console, outro para um arquivo
log4j.rootCategory = DEBUG, fileOut

# Imprime somente mensagens com 'priority' WARN ou mais alto para o logger
#lembrando a ordem: DEBUG - INFO - WARN - ERROR - FATAL
log4j.category.fileOut = WARN

#### O segundo appender escreve em um arquivo
log4j.appender.fileOut = org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File = example.log

# Controla o tamanho maximo do arquivo
log4j.appender.fileOut.MaxFileSize = 100KB

# Faz backup dos arquivos de log (apenas 1)
log4j.appender.fileOut.MaxBackupIndex = 1

log4j.appender.fileOut.layout = org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern = %p %t %c - %m%n

Mas ele não gera o arquivo de log, mas também não acontece erro algum...
Alguém sabe o que pode estar acontecendo ?

Obrigado!

1 Resposta

J

onde você está procurando esse arquivo? Tente colocar um caminho completo no seu sistema e vê se encontra lá:
Exemplo:

log4j.appender.fileOut.File = c:\example.log

ou, se tiver no linux

log4j.appender.fileOut.File = /home/suaconta/example.log

Aí o arquivo tem que ser gerado no caminho dado. Caso contrário, vai cair num diretório muito doido do tomcat.
Até.

Criado 19 de julho de 2005
Ultima resposta 20 de jul. de 2005
Respostas 1
Participantes 2