vc pode fazer isso usando diferentes appenders para cada log level.
por exemplo
logger.error("ocorreu um erro"); //aqui cai num arquivo
logger.fatal(e.getMessage()); // aqui cairia em outro arquivo ou no console
EDIT: passei um link errado, perai q vo pegar o certo…
mario.fts
a, agora sim:
# Set root logger level to DEBUG and appender to A1 and A2.
log4j.rootCategory=DEBUG,A1,A2
#Appender and its layout for A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.File=./LogonApplication_Debug.log
log4j.appender.A1.Append=true
#Appender and its layout for A2
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %
log4j.appender.A2.Threshold=ERROR
log4j.appender.A2.File=./LogonApplication_Error.log
log4j.appender.A2.Append=true
nesse exemplo, o log de debug cai em um arquivo e o log de erro cai em outro. vc só vai ter que trocar pra um cair no console e o outro no arquivo que vc deseja.
[]'s
robsonsm
ja tentei dessa forma tbm, o problema eh q nao aparece nada no console, so no arquivo
ERROR: invalid console appender config detected, console stream is looping
mgarcia
entao robson…
como vc está declarando a classe Logger na sua classe? esse erro parece ser relacionado a isso…
tenta fazer o seguinte tb… Coloca o Target nos properties do seu appender:
log4j.appender.A1.Target=System.out
robsonsm
tentei mas nao deu tbm.
na verdade é so eu colocar isso PropertyConfigurator.configure(NOMEDACLASSE.getClass().getClassLoader().getResource("log4j.properties"));
que ele não coloca mais nada no console, nem mesmo System.out.println(“blablabla”);
Sem isso funciona, aparece no console, porem nao gera o arquivo mesmo depois de ter configurado no log4j.properties para gerar o arquivo.
somente se eu colocar o codigo citado acima que ele gera o arquivo. Mas neste caso nada no console.
É como se ele nao encontrasse este log4j.properties, pois sem ele tbm funciona, aparece tudo no console. Mas eu precisa gerar os erros do log4j em um aquivo e outros erros no console mesmo.
F
fausto
robsonsm:
tentei mas nao deu tbm.
na verdade é so eu colocar isso PropertyConfigurator.configure(NOMEDACLASSE.getClass().getClassLoader().getResource("log4j.properties"));
que ele não coloca mais nada no console, nem mesmo System.out.println(“blablabla”);
Sem isso funciona, aparece no console, porem nao gera o arquivo mesmo depois de ter configurado no log4j.properties para gerar o arquivo.
somente se eu colocar o codigo citado acima que ele gera o arquivo. Mas neste caso nada no console.
É como se ele nao encontrasse este log4j.properties, pois sem ele tbm funciona, aparece tudo no console. Mas eu precisa gerar os erros do log4j em um aquivo e outros erros no console mesmo.
Quer dizer que quando chama o log4j ele “rouba” o console para ele e nenhum System.out.println funciona mais?
robsonsm
exatamente.
robsonsm
as vezes me aparece este erro
ERROR: invalid console appender config detected, console stream is looping