Configurar Log4J para gerar um arquivo .log dentro de WEB-INF

2 respostas
Rafael_Guerreiro

Olá pessoal, boa tarde.

Preciso da ajuda de vocês. Eu criei o arquivo log4j.properties na pasta raiz da minha aplicação web.

Eu estou tentando fazer ele criar um arquivo .log (seria ideal que fosse dentro de WEB-INF) mas nem em qualquer outro lugar eu consigo fazer ele criar esse arquivo.

Aqui está a configuração para quem quiser ver.

log4j.rootCategory=WARN,stdout
log4j.logger.frontend=WARN,stdout,fileOut

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-2d{dd/MM/yy HH:mm} [%t] %5p %c:%L - %m%n

log4j.appender.fileOut =org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=/frontend.log
log4j.appender.fileOut.MaxFileSize=500KB
log4j.appender.fileOut.MaxBackupIndex=1
log4j.appender.fileOut.layout=org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern=%-2d{dd/MM/yy HH:mm} [%t] %5p %c:%L - %m%n

E aqui a minha chamada do log

Logger rootLogger = Logger.getLogger("frontend");
		try {
			rootLogger.warn("teste");
			service.inicializarDados(this.session);
		} catch (HibernateException e) {
			rootLogger.fatal(e.getMessage(), e);
			result.nothing();
		}

Obrigado.

2 Respostas

Rafael_Guerreiro

UP e Atualizando o status: consegui fazer funcionar. Mas só num método main.

No meu controller do VRaptor ele mostra na tela mas não grava nada no .log…

Alguém sabe o que pode ser?

Minhas configurações são:

log4j.rootLogger = WARN,consoleAppender,rollingFile

log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-2d{dd/MM/yy HH:mm} [%t] %5p %c:%L - %m%n

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=frontend.log
log4j.appender.rollingFile.MaxFileSize=2MB
log4j.appender.rollingFile.MaxBackupIndex=2
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%-2d{dd/MM/yy HH:mm} [%t] %5p %c:%L - %m%n

Código main que funciona:

import org.apache.log4j.Logger;

public class TesteLog {
	public static void main(String[] args) {
		Logger logger = Logger.getLogger("rollingFile");
		logger.fatal("mensagem");
	}
}

Código que só mostra na tela mas não grava no .log:

@Liberado
	@Get("/login")
	public void login() {
		Logger logger = Logger.getLogger("rollingFile")
		try {
			service.inicializarDados(this.session);
		} catch (HibernateException e) {
			result.nothing();
		}
		logger.fatal("mensagemLogin");
	}

Obrigado novamente.

Rafael_Guerreiro

Up novamente…

Passei todo esse tempo pesquisando sobre isso. Mas ainda não consegui entender por que não consigo gravar um .log quando chamo pela aplicação…

Criado 28 de março de 2012
Ultima resposta 10 de abr. de 2012
Respostas 2
Participantes 1