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

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.

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.

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…