当使用via时,java Log4j不显示行记录。jar文件
我有一个使用jar文件的程序,它使用log4j。 它的log4j属性包含以下模式:
[%-5p] (%d) %l : %m%n
当我的程序访问jar中执行日志的方法时,它会产生以下结果:
[INFO ] (2011-02-25 14:13:43,426) org.fractor.service.AppConfigService.getStringValueOf(?:?) : processing.user: root
我试图包含jar文件的原始src文件夹,当我再次运行该程序时,它会输出以下内容:
[INFO ] (2011-02-25 14:13:43,426) org.fractor.service.AppConfigService.getStringValueOf(AppConfigService.java:125) : processing.user: root
这似乎没问题,但当创建包含使用log4j的jar的程序的jar文件时,它不包括jar的src文件夹,因此会给出错误
是因为它只是引用了jar的src文件夹吗?我需要在jar中包含jar的src文件夹吗?现在看来,使用罐子是没有用的
还有别的办法吗?谢谢
# 1 楼答案
听起来jar文件包含的类是在没有调试信息的情况下编译的
正如你所发现的,这是非常可取的。我建议向负责构建罐子的人提交一个bug,如果可以的话,自己重新构建。如果没有,则包括src文件夹,但正确的jar更好
# 2 楼答案
您需要编译启用调试的Java类。在ant中,这将如下所示:
直接使用javac需要指定-g。见javac docs