Ignite 节点中来自第三方代码的 Log4j:未找到配置文件

Log4j from third-party code in Ignite node: no configuration file found

我从我的主节点(以编程方式 运行)提供配置文件(通过 -Dlog4j.configurationFile)。主节点分发一个批处理作业(10 个类似的任务)。该任务涉及使用以下 log4j 行的第三方代码:

final org.apache.logging.log4j.Logger lgr = LogManager.getLogger(Command.class).

主节点没有问题,工作正常,但其他节点(通过 bin/ignite.bat 启动)显示以下内容:

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

在以 ignite.bat 开头的其他节点上设置 Log4j 记录器,方法是将以下内容添加到节点的配置中

          <property name="gridLogger">
              <bean class="org.apache.ignite.logger.log4j.Log4JLogger">
                  <constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/>
              </bean>
          </property>

还要确保 "config/ignite-log4j.xml" 位于您的 Apache 发行版中。最后不要忘记将 "ignite-log4j" 库从 "libs/optional" 文件夹移动到 "libs" 文件夹。