8

我知道有人对此提出了很多问题,但我一直试图让它工作几天,当我开始时我不再向前了。

我尝试在 eclipse vm 参数中使用-Dlog4j.configuration=file:/path/to/log4j.properties-Dlog4j.debug(在调试和运行下)并且没有输出

我曾尝试使用 .properties 和 .xml 但没有乐趣

试图将 .xml 和 .properties 文件放在根目录、src 和我添加到类路径中的外部文件夹中......仍然没有乐趣

我认为它在另一个 lib/jar 中使用了另一个 .xml 或 .properties 文件,但是因为我无法进行任何调试,所以我发现很难跟踪我在这里做错了什么......

任何帮助都会很棒!下面是代码..只打印错误消息。

我已经下载(http://logging.apache.org/log4j/2.x/download.html)并导入到我的应用程序中 log4j-api-2.0-beta8.jar log4j-core-2.0-beta8

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class CucmServMonitor 
{
 private static final Logger logger  = LogManager.getLogger(CucmServMonitor.class.getName())
  public static void main(String[] args) 
  {
    logger.error("testing ERROR level");
    logger.trace("exiting application");
    System.out.println(logger.getName());   
  }
}

我刚刚使用的 xml 文件 log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
 <configuration status="WARN">
  <appenders>
   <Console name="Console" target="SYSTEM_OUT">
    <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
   </Console>
  </appenders>
 <loggers>
  <root level="debug">
   <appender-ref ref="Console"/>
  </root>
 </loggers>
</configuration>
4

5 回答 5

10

设法弄清楚这一点。提示就在这里。

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-112.htm

我需要添加 log4j2.xml 所在位置的“类文件夹”,然后确保它位于列表的顶部:

右键单击您的项目并转到属性 右键单击您的项目并转到属性

然后按照如下所示的步骤进行操作。添加文件夹后,确保其位于顶部,然后单击确定 在此处输入图像描述

于 2013-07-31T13:38:14.230 回答
2

或者......只需创建一个资源目录,如 src/test/resources 并将 log4j.xml 文件添加到该目录,然后将该目录作为源文件夹。然后 eclipse 会自动将文件复制到 classes 目录,然后就可以了。

于 2014-01-26T22:37:45.140 回答
0

1) 在根文件夹中创建 log4j.properties 文件

log4j.rootCategory=DEBUG, CONSOLE

# Appender writes to console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n

2)像这样修改代码

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class CucmServMonitor {
    private static final Logger logger = Logger.getLogger(CucmServMonitor.class);
    public static void main(String[] args) {
        PropertyConfigurator.configure("log4j.properties"); 
        logger.error("testing ERROR level");
        logger.trace("exiting application");
        System.out.println(logger.getName());  
    }
}
于 2013-07-30T11:43:09.973 回答
0

根据亚历克西斯的评论,我设置了它,但 eclipse 仍然找不到 log4j2.xml。最后,我通过删除其他导入的 jar 来解决它,只保留 log4j-api 和 log4j-core。在我导入从 Apache 网站下载的所有 jar 之前。希望这可以帮助某人。

于 2018-08-30T02:20:41.780 回答
0

根据亚历克西斯的评论,我设置了它,但 eclipse 仍然找不到log4j2.xml。最后,我通过删除其他导入的 jars 来解决它,只保留log4j-apilog4j-core. 在我导入从 Apache 网站下载的所有 jar 之前。

我解决了我的log4j->log4j2版本升级项目。

于 2021-12-26T01:23:27.537 回答