我已经使用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
如果我执行早先构建的旧jar[大约3年前],我可以看到正确的日志。所以我认为图案布局没有问题。我希望这个问题在构建中。
您正在使用没有调试信息的类。您需要使用以下命令之一编译您的类。
javac -g
javac -g:lines,source
调试信息是默认添加的,所以在构建脚本中查找禁用的调试或-g:none
。
请参考以下链接:logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/…对我来说,似乎你需要使用%C或%F(大写)来显示文件名