2013-07-30 53 views
5

我知道这里有很多问题需要解答,但我一直试图让这个工作几天,而且当我开始时我没有更多的前进。获取log4j2与eclipse一起工作

我试图使用Eclipse的VM参数-Dlog4j.configuration=file:/path/to/log4j.properties-Dlog4j.debug(下调试运行&),并获得无输出

我曾尝试使用的.properties和.xml,但没有喜悦

试图把.xml和.properties文件在根目录,在src和我添加到我的类路径的外部文件夹中...仍然没有喜悦

我认为它使用另一个.xml或.properties文件在另一个lib/jar,但因为我不能得到任何调试工作,我发现很难tra ck我在这里做错了什么...

任何帮助将是伟大的!下面是代码..只有错误信息被打印。

我有下载(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> 
+0

请参阅http://stackoverflow.com/questions/24231773/specifying-a-custom-log4j-properties-file-for-all-of-junit-tests-run-from-eclips – Raedwald

回答

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()); 
    } 
} 
+0

感谢您的回复。也许这是我遇到的问题,但与我导入的jar文件,我只能使用下面的导入语句'import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;' – alexis

2

或者只创建一个资源目录一样的src /测试/资源和的log4j.xml文件添加到该目录,然后使该目录后源文件夹。然后eclipse会自动将文件复制到类目录,并在那里你有它。