如何在 RapidMiner 扩展中记录第 3 方输出?

How to log 3rd party output in RapidMiner extension?

我正在尝试为 RapidMiner 编写一个数据源,它包装了我公司开发多年的 API 连接器库。

代码很好,但无法实例化某些 类。我正在寻找原因,但 RapidMiner 似乎抑制了第 3 方库日志输出。

我们的库使用 Log4J,为了调查,我添加了一个 hack:

Logger.getRootLogger().setLevel(Level.DEBUG);
// the appender writes the Log4J output to the JUL logger of RapidMiner
Logger.getRootLogger().addAppender(new AppenderSkeleton() {

  @Override
  public boolean requiresLayout() {
    return false;
  }

  @Override
  public void close() {}

  @Override
  protected void append(final LoggingEvent event) {
    getLogger().info(event.getRenderedMessage());
  }
});

因此它至少将 WARN 消息写入 RapidMiner 日志。

然后我发现this article说有些操作是不允许的。那可能是我问题的根源。

所以我的问题:

我会重新发布到 RapidMiner 社区(转到 Developer forum),因为开发人员会定期监控该频道。