log4j只能在我的java-Enterprise应用程序模块ejb- with spring上查看错误级别



我正在使用Netbeans在ejb模块中开发我的java企业应用程序。
当我运行"MyClass.java"时,我只查看错误级别。

MyEnterpriseApplication-ejb:源包:

package com.mycompany;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MyClass {
public static final Logger logger = LogManager.getLogger(MyClass.class);
public static void main(String[] arg) {
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:context.xml");
    logger.info("level info");
    logger.error("level error");
    logger.debug("level debug");
    logger.warn("level warn");
}
}

当我运行这个类…
输出:

------------------------------------------------------------------------
Building MyEnterpriseApplication-ejb 1.0-SNAPSHOT
------------------------------------------------------------------------
[dependency:copy]
[resources:resources]
[debug] execute contextualize
Using 'UTF-8' encoding to copy filtered resources.
Copying 1 resource
[compiler:compile]
Compiling 1 source file to Z:NetBeansProjectsMyEnterpriseApplicationMyEnterpriseApplication-ejbtargetclasses
[exec:exec]
20:26:23.885 [main] ERROR com.mycompany.MyClass - level error
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 2.328s
Finished at: Mon May 27 20:26:23 CEST 2013
Final Memory: 14M/162M
------------------------------------------------------------------------

如何添加log4j.xml文件并添加到spring上下文文件?是这条路吗?

使用log4j version2.0,您不需要调用DomConfigurator。(我认为它已经不存在了。)配置文件应该被命名为log4j2.xml,如果它在类路径中,将被拾取。

你的maven依赖项在我看来是正确的。

您的示例MyClass代码看起来也很好。(尽管您不需要ApplicationContext进行日志记录)

您需要告诉应用程序加载您想要使用的XML配置:

在这个示例中,文件必须位于类路径中,并且应该称为log4j.xml

package javabeat.net.log4j;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class YourClass {
    private static Logger logger = Logger.getLogger
            (Log4jXmlTest.class);
    public static void main (String args[]){
        DOMConfigurator.configure("log4j.xml");
        logger.info("Test Log");
        logger.error("level error");
        logger.debug("level debug");
        logger.warn("level warn");
    }
}

最新更新