你如何在Matlab中使用Log4j2

时间:2012-12-03 03:20:54

标签: matlab log4j log4j2

我正在尝试在Matlab应用程序中从log4j 1.2切换到log4j 2.

我已将log4j-core-2.0-beta3.jar和log4j-api-2.0-beta3.jar添加到我的Matlab java类路径中。

在我的Matlab类构造函数I中:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

this.logger = LogManager.getLogger(myClassNameAsString);

但是当我检查Logger对象时,我看到:

K>> this.logger

ans =

myClassNameAsString:ERROR in Default

我没有定义配置文件,我希望log4j给我默认配置并登录控制台(根据log4j2文档)

我做错了吗?

在Matlab中使用log4j2是否有问题?

编辑:我认为这与matlab中用于Matlab内部日志记录的log4j的内置用法有关。我设法解决类似的logback问题,因为logback抱怨Matlab使用log4j。 classpath.txt文件可能用于解决此问题,即从classpath.txt中删除log4j,但这可能会破坏Matlab的内部日志记录。我通过切换到不同的日志工具解决了这个问题。

1 个答案:

答案 0 :(得分:1)

我的Matlab版本(R2012a)在底层使用log4j,因此您的代码可能链接到旧版本的log4j(R2012a \ java \ jarext \ log4j.jar)。

查看位于Matlab Root:\ toolbox \ local目录下的classpath.txt文件。