java - 单击转换字符中的链接时,java 项目中的 log4j 显示错误的文件

标签 java log4j

我在 Eclipse 中创建了一个 Java 6 项目,它使用 log4j 将调试信息输出到控制台。我们将此称为 Project1。没问题。然后我将该文件夹的全部内容复制到一个新文件夹中(显然,这不是一个好主意)。然后,我将现有项目导入到工作区中。我们将其称为 Project2。当我运行 Project2 时,我看到调试语句的输出到控制台。我使用了包含 (%F:%L) 的 ConversionPattern,因此我可以单击链接,Eclipse 将带我到该文件和行号。 问题是:当我单击控制台中的链接时,Eclipse 将我带到 Project1 中的文件,而不是 Project2 中。当我通过复制 Project1 创建 Project2 时,显然有些交叉。解决这个问题的唯一方法(到目前为止)是重命名包含 logger.debug 语句的类文件。我宁愿解决更大的问题。我用 Google 搜索了这个并浏览了该网站上的 log4j 帖子,但找不到解决方案。下面是 log4j.properties 文件。任何帮助将不胜感激。

log4j.rootLogger=debug, stdout, R
# log4j.rootLogger=error, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=RevIC.log

log4j.appender.R.MaxFileSize=500KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

最佳答案

使用(%l)。 % 之前的空格是必需的,因为它会尝试将左括号添加到链接中。

关于java - 单击转换字符中的链接时,java 项目中的 log4j 显示错误的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9588580/

相关文章:

java - 如何将Java中的字符串从全名分隔为姓氏、名字?

java - 禁用log4j 2异常(apache异常)

java - 如何仅定义 Log4j2 appender 日志记录特定的命名记录器?

java - Jackson:无法反序列化 START_ARRAY 中的对象实例

java - EclipseLink:类型的指示器字段值缺少类

java - 挣扎着用spring SimpleJdbcCall调用Oracle函数

java - JNI4Net C# 到 Java

java - log4j gradle配置-无法找到实现错误

jsf - 所有级别的日志中每个用户/ session 都有唯一的 ID? Log4J?

java - 我是否需要 SLF4J 绑定(bind)和 log4j 适配器?