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" 文件夹。
我从我的主节点(以编程方式 运行)提供配置文件(通过 -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" 文件夹。