3

我使用 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 模式布局是 log4j.appender.R.layout.ConversionPattern=[%-5p] [%d{ISO8601}][%c#%L] - %m%n

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

4

2 回答 2

5

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

javac -g
javac -g:lines,source

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

于 2013-06-07T07:41:48.347 回答
0

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

于 2013-06-07T07:41:08.603 回答