在ignite默认配置文件中添加log4j属性后,服务无法启动
我正在尝试使用配置文件中的gridLogger属性启用Log4j logger,如下所示:在ignite默认配置文件中添加log4j属性后,服务无法启动,log4j,ignite,Log4j,Ignite,我正在尝试使用配置文件中的gridLogger属性启用Log4j logger,如下所示: <bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"/> <property name="gridLogger"> <bean class="org.apache.ignite.logger.log4j.Log4JLogger"> <constructor-a
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration"/>
<property name="gridLogger">
<bean class="org.apache.ignite.logger.log4j.Log4JLogger">
<constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/>
</bean>
</property>
错误表明您具有无效的元素属性:
Invalid content was found starting with element '{"http://www.springframework.org/schema/beans":property}'
在第一行,您偶尔会有一个没有值的关闭的bean id=“grid.cfg”
标记
应该是:
<beans ...
...
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="gridLogger">
<bean class="org.apache.ignite.logger.log4j.Log4JLogger">
<constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/>
</bean>
</property>
</bean>
</beans>
谢谢,它工作了,但是仍然没有按照我的log4j.xml文件生成日志。我希望在ignite.log上生成日志,所以想知道我在这里遗漏了什么?检查为{IGNITE_HOME}env配置的目录。尝试将其修改为已知路径或普通文件,比如“myLogs.log”,在这种情况下,您应该在启动文件夹中找到它。在log4j中,我已将日志文件设置为ignite.log,但它的创建方式与ignite类似哦,我明白了。问题是Log4JLogger向提供的文件名添加了一个nodeId快捷方式。如果在同一工作目录中运行多个节点,我想这可能会很有用。有关详细信息,请查看Log4jNodeIdFilePath.java。我目前不确定这种逻辑是否可以被禁用。
<beans ...
...
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="gridLogger">
<bean class="org.apache.ignite.logger.log4j.Log4JLogger">
<constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/>
</bean>
</property>
</bean>
</beans>
<dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-log4j</artifactId>
<version>${ignite.version}</version>
</dependency>