2009-05-25 8 views
4

私は私のlog4j.properties私のロガーを作成log4jのカテゴリ

log4j.rootLogger = debug, stdout, fileLog 

log4j.appender.stdout = org.apache.log4j.ConsoleAppender 

log4j.appender.fileLog = org.apache.log4j.RollingFileAppender 
log4j.appender.fileLog.File = C:/logs/services.log 
log4j.appender.fileLog.MaxFileSize = 256MB 
log4j.appender.fileLog.MaxBackupIndex = 32 
#Category: ConsultaDados 
log4j.category.ConsultaDados=ConsultaDados 
log4j.appender.ConsultaDados=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.ConsultaDados.layout=org.apache.log4j.PatternLayout 
log4j.appender.ConsultaDados.layout.ConversionPattern={%t} %d - [%p] %c: %m %n 
log4j.appender.ConsultaDados.file=C:/logs/consulta.log 
log4j.appender.ConsultaDados.DatePattern='.' yyyy-MM-dd-HH-mm 

とIMで次き:

myLogger = Logger.getLogger("ConsultaDados"); 

しかし、これは、ファイルへの私の呼び出しをログに記録doesntの。彼らはrootLoggerに投げ込まれる

アイデア?

答えて

4

ちょうどこのスレッドを終了するために、本当の問題は、あなたのカテゴリの行の最初の値は、ログレベルとなっての必要があるということでした。だから、あなたが正しく発見として、変更:

log4j.category.ConsultaDados = ConsultaDados

にlog4j.category.ConsultaDados =情報を、ConsultaDados

は正常に働いていました。 、あなたがルートロガーからログレベルを継承させたのでしょうConsultaDados

をFYIとして、あなたはまたの可能性が

log4j.category.ConsultaDadosの=にラインを変更しました。

+5

カテゴリは廃止され、ロガーに置き換えられました。 –

10

まず、カテゴリがアペンダにマップされていません。ConsultaDadosEORIはどのカテゴリとも一致しません。ここで

はサンプルです:

log4j.appender.YOUR_APPENDER=org.apache.log4j.RollingFileAppender 
log4j.appender.YOUR_APPENDER.File=${SYSTEM_PROPEY_WITH_LOGGER_FOLDER}/log_file.log 
log4j.appender.YOUR_APPENDER.Append=true 
log4j.appender.YOUR_APPENDER.MaxFileSize=20MB 
log4j.appender.YOUR_APPENDER.MaxBackupIndex=2 
log4j.appender.YOUR_APPENDER.layout=org.apache.log4j.PatternLayout 
log4j.appender.YOUR_APPENDER.layout.ConversionPattern=%d [%t] %p %c - %m %n 
log4j.category.**YOUR_PACKAGE**=**INFO,YOUR_APPENDER** 
log4j.additivity.**YOUR_PACKAGE**=true or false 
+0

これは誤った形式だったので、理解できないのは私のカテゴリがアペンダーにマップされていないと言う理由だけです。私が持っているから: log4j.category.ConsultaDados = ConsultaDados –

+0

アップス、私の間違い。私は、アペンダーを定義する前にカテゴリーを定義したという事実が混乱していました。たぶんこれは問題です。私はいつもアペンダーを宣言してから使用しています。 –

+0

それはうまくいった= D、しかし、私は本当のトリックは、それにもレベルを入れていたと思う –