错误日志中缺少行号和java文件名

时间:2013-06-07 07:35:50

标签: java ant log4j

我使用ant build来构建.jar文件。当我执行jar时,日志中缺少行号和java文件名。

[ERROR] [2013-05-07 07:26:26,900][abc.def.per#?] -common.exception.FatalException at abc.def.per.Ext(Unknown Source)

我使用的log4j patternlayout是 log4j.appender.R.layout.ConversionPattern=[%-5p] [%d{ISO8601}][%c#%L] - %m%n

如果我执行之前[大约3年前]建立的旧jar,我可以看到正确的日志。 所以我认为patternlayout没有问题。我希望问题出在构建中。 请救救我。

2 个答案:

答案 0 :(得分:5)

您正在使用没有调试信息的类。您需要使用以下命令之一编译您的类。

javac -g
javac -g:lines,source

默认情况下会添加调试信息,因此请在构建脚本中查找已禁用的调试或-g:none

答案 1 :(得分:0)

请参考以下链接:logging.apache.org/log4j/1.2/apidocs/org/apache/log4j / ...对我来说,似乎你需要使用%C或%F(大写)来显示文件名。