我正在尝试在 Matlab 应用程序中从 log4j 1.2 切换到 log4j 2。
我已将 log4j-core-2.0-beta3.jar 和 log4j-api-2.0-beta3.jar 添加到我的 Matlab java 类路径中。
在我的 Matlab 类构造函数中,我:
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 中 log4j 的内置用法有关,用于 Matlab 自己的内部日志记录。我设法解决了与 logback 类似的问题,因为 logback 抱怨 Matlab 使用 log4j。classpath.txt 文件可能可以用来解决这个问题,即从 classpath.txt 中删除 log4j 但这可能会破坏 Matlab 的内部日志记录。我通过切换到不同的日志记录工具来解决这个问题。