Log4j在我班上不起作用

时间:2013-08-28 00:56:36

标签: java log4j

嗯,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

但没有记录。

1 个答案:

答案 0 :(得分:0)

应该这样:

log4j.br.com.odontonew=DEBUG

是这个吗?

log4j.category.br.com.odontonew=DEBUG

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

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