嗯,log4j不起作用,我不知道为什么。请参阅我的属性:
#### Usando 2 appenders, 1 para logar no console, outro para um arquivo
log4j.rootCategory=DEBUG,stdout,fileOut
# Imprime somente mensagens com 'priority' WARN ou mais alto para o logger
#lembrando a ordem: DEBUG - INFO - WARN - ERROR - FATAL
log4j.br.com.odontonew=DEBUG
#configurando o hibernate no log4j
log4j.category.org.hibernate.SQL=DEBUG
#### O primeiro appender escreve no console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
### Pattern que mostra o nome do arquivo e numero da linha, porem sem data e hora
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#### O segundo appender escreve em um arquivo e faz um bkp ao atingir o max
log4j.appender.fileOut =org.apache.log4j.RollingFileAppender
log4j.appender.fileOut.File=app.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
#####este formato esta em ingles: 2011-04-24 e imprime o nro da linha L
log4j.appender.fileOut.layout.ConversionPattern=%d [%t] %5p %c:%L - %m%n
####imprime no formato dia/mes/ano
#log4j.appender.fileOut.layout.ConversionPattern=%-2d{dd/MM/yy HH:mm} [%t] %5p %c:%L - %m%n
我认为只是hibernate日志正常显示,因为我可以看到Hibernate查询(但可能是因为配置为显示hibernate查询的persistence.xml)。
所以,我尝试下面的代码,但控制台没有显示任何内容。
private Logger logger = Logger.getLogger(DentistaMBImpl.class);
if (logger.isDebugEnabled())
logger.debug("Inicializando componentes no PostConstruct");
编辑1: 我改为: log4j.logger.br.com.odontonew = DEBUG
但没有记录。
答案 0 :(得分:0)
应该这样:
log4j.br.com.odontonew=DEBUG
是这个吗?
log4j.category.br.com.odontonew=DEBUG
类别必须声明为log4j.category.whatever
,我假设您的包裹为br.com.odontonew
。
此外,请不要使用logger.isDebugEnabled(),除非您在调试调用中执行昂贵的计算。你只是在烧CPU,因为debug()所做的第一件事就是调用isDebugEnabled()。