0

好吧,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

我认为只是休眠日志显示正常,因为我可以看到休眠查询(但可能是因为配置为显示休眠查询的 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

但没有任何记录。

4

1 回答 1

0

应该这样:

log4j.br.com.odontonew=DEBUG

是这个吗?

log4j.category.br.com.odontonew=DEBUG

类别必须声明为log4j.category.whatever,我假设您的包是br.com.odontonew.

此外,不要使用 logger.isDebugEnabled() 除非您在调试调用中进行昂贵的计算。你只是在烧 CPU,因为 debug() 做的第一件事就是调用 isDebugEnabled()。

于 2013-08-28T01:02:39.150 回答