2012-03-30 28 views
5

私のプログラムでいくつかの問題を発見しました。
ロギングにlog4jを使用しましたが、ログファイル内ではすべて "?"になります。

行番号が表示されませんか?

会話パターンは以下の通りです:

log4j.appender.file.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} %5p %c: %L - %m%n 
+0

ファイル名が表示されますか? – Nishant

+1

IIRCでは、デバッグシンボルでコンパイルする必要があります。そうしないと、情報は '.class'ファイルから削除されます。上記のように –

答えて

7

あなたはおそらく、あなたのコンパイル済みのアーティファクトにデバッグ情報が欠落しています。 I.それはlog4jのフォールトではありません、デバッグ情報が含まれているあなたのものをコンパイルしていることを確認する必要があります。 簡単なテストは、あなたのお気に入りのIDEであなたのアプリをデバッグしようとすることでしょう。 デバッグ情報がない場合、それは不平を言い、デバッグセッションを確立しません...

+0

。 –

+0

実際に、私はちょうどこれが起こる最も一般的な理由を述べています...プラス私は私の答えを投稿した後、あなたのコメントに気づいた:)私はあなたのコードをどのようにコンパイルしているかを教えてくれると便利です。 – Svilen

+0

コンパイルにAntを使用していました。 – Hei

2

一度チェックしてください。 私はあなたのパターン私のコード、 を使用しており、それはより良い作品....これはlog4j.propertiesファイルです。

log4j.rootLogger=DEBUG 

    # AdminFileAppender - used to log messages in the admin.log file. 
    log4j.appender.AdminFileAppender=org.apache.log4j.FileAppender 
    log4j.appender.AdminFileAppender.File=admin.log 
    log4j.appender.AdminFileAppender.layout=org.apache.log4j.PatternLayout 
    log4j.appender.ReportFileAppender.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} %5p %c: %L - %m%n 
    #log4j.appender.AdminFileAppender.layout.ConversionPattern=%L - %r %-5p %c %x - %m - %d - %t%n 

    # ReportFileAppender - used to log messages in the report.log file. 
    log4j.appender.ReportFileAppender=org.apache.log4j.FileAppender 
    log4j.appender.ReportFileAppender.File=report.log 
    log4j.appender.ReportFileAppender.layout=org.apache.log4j.PatternLayout 
    log4j.appender.ReportFileAppender.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss,SSS} %5p %c: %L - %m%n 
    #log4j.appender.ReportFileAppender.layout.ConversionPattern=%L - %r %-5p %c %x - %m - %d- %t%n 

    log4j.logger.com.vaannila.admin=,AdminFileAppender 
    log4j.logger.com.vaannila.report=,ReportFileAppender 
4

javac ant-taskにオプションdebug="true" debuglevel="lines,source"を設定します。

関連する問題