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

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

しかし、何もログに記録されていません。

4

1 に答える 1

0

これは:

log4j.br.com.odontonew=DEBUG

これでしょうか?

log4j.category.br.com.odontonew=DEBUG

カテゴリは として宣言する必要がありlog4j.category.whatever、パッケージはbr.com.odontonew.

また、デバッグ呼び出しの一部として高価な計算を行っている場合を除き、logger.isDebugEnabled() を使用しないでください。debug() が最初に行うことは isDebugEnabled() の呼び出しであるため、CPU を燃やしているだけです。

于 2013-08-28T01:02:39.150 に答える