prog
Maio 18, 2006, 9:07am
#1
Amigos,
Estou com dúvidas onde colocar o arquivo log4j.properties na minha aplicação web.
Eu coloquei o jar do log4j no diretório WEB-INF/lib, na minha aplicação eu chamo o jar normalmente, faço logging, mas é ignorado (ou não encontrada) as informações que configuro no log4j.properties. Já tentei colocar no WEB-INF\classes e no WEB-INF\lib e nada de funcionar.
Mais algumas informações, eu estou usando o Geronimo com TOMCAT.
Alguém tem idéia doque pode ser?
[]s
_fs
Maio 18, 2006, 9:45am
#2
Dentro de WEB-INF/classes é correto. Talvez tenha configurado o log4j de maneira incorreta.
prog
Maio 18, 2006, 9:51am
#3
Você diz erradas as configurações do .properties?
no projeto no eclipse coloca na raiz do SRC, pois quando vc compila ele vai para WEB-INF/CLASSES, que é onde edeve estar quando o sistema é distribuido/deploy.
prog
Maio 18, 2006, 11:47am
#6
Estou colocando diretamente neste diretório, o arquivo esta no arquivo de deploy.
prog
Maio 18, 2006, 11:48am
#7
Sim.[/quote]
Tem algum arquivo funcional e bem simples só para eu ter certeza que é meu arquivo .properties que esta com problemas?
_fs
Maio 18, 2006, 12:03pm
#8
Se o erro é só o log que não aparece, bem mais simples você postar o seu log4j.properties cara.
De qualquer maneira um exemplo simples:
LogTest.java
public class LogTest
{
private static final Logger logger = Logger.getLogger( LogTest.class );
public static void main( String[] args )
{
logger.debug( "debug test" );
logger.info( "info test" );
logger.warn( "warn test" );
logger.error( "error test" );
}
}
log4j.properties
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=warn, stdout
log4j.logger.meu.pacote.LogTest=WARN
Basta alterar o “WARN” na última linha para debug, info ou error para imprimir níveis diferentes.
prog
Maio 18, 2006, 11:05pm
#9
Poxa mesmo com seu exemplo ainda não funcionou.
Segue minhas configurações:
WEB-INF\classes\log4j.properties
log4j.rootLogger=INFO,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.Arquivo=org.apache.log4j.FileAppender
log4j.appender.Arquivo.File=c:\app.log
log4j.logger.br.com.site.controller.Controller=INFO,Arquivo
Na Classe faço:
import org.apache.log4j.Logger;
...
static Logger log = Logger.getLogger( Controller.class );
...
log.info( "Acessando a classe Controller" );
No output do eclipse aparece:
INFO [Controller] Acessando a classe Controller
Por que não é gerado o log?
Por que não é formatada a saída como disse no .properties?
[]s