2012-03-30 41 views
5

我在程序中發現了一些問題。
但是,我在使用log4j進行日誌記錄時,所有行號都變爲「?」。
行號不顯示?

會話模式,情況如下:

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

你看到文件名嗎? – Nishant 2012-03-30 05:40:03

+1

IIRC您需要使用調試符號進行編譯,否則該信息將從'.class'文件中刪除。如上所述的 – 2012-03-30 05:41:26

回答

7

很可能你缺少你的編譯文物調試信息。 也就是說它不是log4j的錯,您需要確保您正在編譯包含調試信息的東西。 快速測試將嘗試使用您最喜歡的IDE調試您的應用程序。 如果沒有調試信息它會抱怨並且不會建立調試會話...

+0

。如果你能告訴我們你是如何編譯代碼的(螞蟻等),這將是有用的 – 2012-03-30 05:46:54

+0

事實上,我只是說這是最常見的原因發生......另外,我只是在發佈我的答案後才注意到你的評論:) – Svilen 2012-03-30 05:51:36

+0

我正在使用Ant進行編譯。 – Hei 2012-03-30 06:06:48

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任務中設置選項debug="true" debuglevel="lines,source"