java - 如何知道log4j的输出来自哪里?

标签 java eclipse log4j

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

然后在控制台中显示:

DEBUG-"template/simple/head.ftl"["zh_CN",UTF-8,parsed] using cached since jar:file:/C:/Users

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

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

但是我无法在 Eclipse IDE 中搜索 jar 的源代码以查找“字符串匹配”。

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

最佳答案

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

enter image description here

关于java - 如何知道log4j的输出来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23240555/

相关文章:

java - 注入(inject)后的对象为空

java - 使用Docker构建一个Maven项目并提交为Flink作业

JavaFX - 将 css 文件添加到 Maven 元素

log4j2- ERROR Appenders 包含无效的元素或属性 "Flume"

java - 指定 URLConnection 响应的文档编码

c++ - Cmake 生成的 Eclipse 项目 - 无源

eclipse - 如何在 Eclipse 中使用 Tomcat 8.5.x 和 TomEE 7.x?

java - 导入 android 包类时出错

java - 在 oc4j 10.1.3 中使用 log4j

java - Log4j 中的字符串连接性能