让log4j2与eclipse一起工作

时间:2013-07-30 10:46:05

标签: java eclipse log4j

我知道在这方面已经提出了很多问题,但是我一直试图让这个问题在几天内发挥作用,而且当我开始时我不再向前推进。

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

我曾尝试使用.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 个答案:

答案 0 :(得分:6)

管理以解决这个问题。提示就在这里。

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

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

Right click on your project and go to properties 右键单击您的项目并转到属性

然后按照以下步骤操作。添加文件夹后,请确保其位于顶部,然后单击“确定” enter image description here

答案 1 :(得分:2)

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

答案 2 :(得分: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());  
    }
}

答案 3 :(得分:0)

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