如何知道log4j输出的来源?

时间:2014-04-23 09:42:22

标签: java eclipse log4j

我设置log4j以显示调试信息。

然后在控制台中显示我:

  

DEBUG - " template / simple / head.ftl" [" zh_CN",UTF-8,使用缓存解析]   因为jar:file:/ C:/ Users

我知道这些信息来自我项目中的jar文件,可能来自struts2

我还附上了这个jar包的源代码

但我无法在jar的源代码中搜索"字符串匹配"在eclipse IDE中。

那么,我如何找到显示此log4j消息的代码?

2 个答案:

答案 0 :(得分:1)

通过添加%C和方法名称%M,修改您的log4j pattern以在日志消息中包含完全限定的类名。然后CTRL+SHIFT+T并键入类名,您应该在每个匹配类的右侧看到jar,如屏幕截图所示。如果您还附加了源,也可以打开该类,否则您可以安装反编译器,如jadjava decompiler

enter image description here

答案 1 :(得分:1)

log4j.appender.FILE.layout.ConversionPattern = [%d {MMM dd HH:mm:ss}]% - 5p(%F:%L) - %m%n

设置转换模式参数值,如“[%d {MMM dd HH:mm:ss}]% - 5p(%F:%L) - %m%n”,如上面所述,打印日期时间类名称和行号。