在连接到Documentum的

时间:2016-10-12 03:01:00

标签: javafx log4j2 documentum

我正在做一个连接到Documentum数据存储的JavaFx项目,我正在尝试使用Log4jV2添加日志记录功能我已经下载了该文件并将以下Jars添加到我的库文件中。 (log4j-api-2.6.2.jar , log4j-core-2.6.2.jar)并成功导入以下内容:

import org.apache.log4j.LogManager;
import org.apache.log4j.xml.DOMConfigurator;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.LoggerContext;

然后我创建了一个名为config.xml的文件,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>

<Configuration>
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Logger name="org.apache.log4j.xml" level="info"  additivity="false"/>
    <Root level="debug">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
  </Configuration>

并将其放在我的其他类旁边的源文件中,然后开始将其配置为beloew:

public class BGMController implements Initializable {
    static final org.apache.log4j.Logger logger =  LogManager.getLogger(BGMController.class.getName());

/////other content of my program /////////////////

public void initialize(URL location, ResourceBundle resources) {
     DOMConfigurator.configure("config.xml");

    //  createCheckbox();
    //  createTable();

        logger.warn(" test Sample warn message");
        logger.error(" test Sample error message");
        logger.fatal(" test  Sample fatal message");
        logger.debug(" test Sample debug message");
        logger.info("  test Sample info message");



    }


}

结果我得到所有这些错误加上我的错误,警告,致命似乎工作正常而不是调试和信息:

我知道如何解决这个问题。它花了我很多天,我不知道我在哪里犯错误:|

    0 [JavaFX Application Thread] ERROR com.documentum.fc.common.impl.logging.LoggingConfigurator  - Problem locating log4j configuration
    3 [JavaFX Application Thread] WARN com.documentum.fc.common.impl.logging.LoggingConfigurator  - Using default log4j configuration 
    20900 [JavaFX Application Thread] WARN application.BGMController  -  test Sample warn message
    20900 [JavaFX Application Thread] ERROR application.BGMController  -  test Sample error message
    20901 [JavaFX Application Thread] FATAL application.BGMController  -  test  Sample fatal message

1 个答案:

答案 0 :(得分:1)

DomConfigurator适用于Log4j 1.x,因此您永远不会配置Log4j。默认行为应该只发生记录错误,并且对STDOUT是致命的。

你想使用Configurator是Log4j 2.但是你可以在初始化方法被调用之前声明一个静态Logger,Log4j会在你有机会配置它之前进行初始化,所以你可能最终得到了首先创建默认配置,然后在调用initialize方法后创建配置。