我正在做一个连接到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"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<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"/>
<Root level="debug">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
并将其放在我的其他类旁边的源文件中,然后开始将其配置为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 :
答案 0 :(得分:1)
这些消息来自Log4j1。您应该删除Log4j 1.x jar并将其替换为log4j-1.2-api-2.6.2.jar,或者只是将其完全删除并找出尝试使用Log4j 1.x的内容。