2013-08-28 72 views
0

那麼,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查詢(但它可能是因爲persistence.xml中被配置爲顯示Hibernate查詢)。

所以,我試着做下面的代碼,但控制檯不顯示任何東西。

private Logger logger = Logger.getLogger(DentistaMBImpl.class); 
if (logger.isDebugEnabled()) 
      logger.debug("Inicializando componentes no PostConstruct"); 

編輯1: 我更改爲: log4j.logger.br.com.odontonew = DEBUG

,但沒有被記錄。

+0

這可能不是因爲配置文件。確保你的log4J配置正確。我敢打賭,它根本就沒有運行。 Hibernate的日誌沒有任何意義,因爲Hibernate的'show_sql = true'自己完成輸出,而不是通過記錄器。 –

回答

0

應該這樣:

log4j.br.com.odontonew=DEBUG 

是這樣?

log4j.category.br.com.odontonew=DEBUG 

分類必須聲明爲log4j.category.whatever,和我假設你的包是br.com.odontonew

此外,不要使用logger.isDebugEnabled(),除非您在調試調用中執行昂貴的計算。你只是在燒CPU,因爲debug()所做的第一件事就是調用isDebugEnabled()。

+0

嗯,我把word-key「category」放了,但是繼續不工作。 – RonaldoLanhellas

+0

@科學家哎呀,我的壞。我認爲它應該是「記錄器」而不是類別。配置.properties文件的方法在這裏:http://logging.apache.org/log4j/1.2/manual.html。確保包名稱正確。 –

+0

包名是正確的,我也嘗試過「記錄器」 – RonaldoLanhellas