0

我正在使用 Netbeans 在 ejb 模块中开发我的 java Enterprise 应用程序。
当我运行“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:\NetBeansProjects\MyEnterpriseApplication\MyEnterpriseApplication-ejb\target\classes

[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 上下文文件?这是办法吗?

4

2 回答 2

0

您需要告诉应用程序加载您要使用的 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");
    }
}
于 2013-05-27T19:19:42.047 回答
0

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

您的 Maven 依赖项对我来说是正确的。

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

于 2013-05-28T14:41:42.067 回答