我有一个使用 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 文件夹吗?看来此时使用 jar 是没有用的。
还有其他方法吗?谢谢。
最佳答案
听起来 jar 文件包含在没有调试信息的情况下编译的类。
正如您所发现的,这是非常理想的。我建议向负责构建 jar 的人员提交错误,然后如果可以的话自己重建它。如果没有,则包含 src 文件夹,但正确的 jar 更好。
关于java - 通过 .jar 文件使用时 Log4j 不显示行日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5114357/