每次都将配置的Ignite Log4J模块和日志生成为ignite-uniqueid.log。我的要求是仅使用ignite.log获取日志。
您应该使用XML配置参数创建自己的Log4JLogger
,并将其传递给IgniteConfiguration.setLogger
。
XML配置文件应类似于this one from Ignite source。
[请看一下类似的question。
我发现用不修改目标文件名的默认RollingFileAppender替换Ignite的Log4jRollingFileAppender很有用。
更多详细信息:
更改Ignite配置文件:
...
<property name="gridLogger">
<bean class="org.apache.ignite.logger.log4j.Log4JLogger">
<constructor-arg type="java.lang.String" value="config/ignite-logging-log4j.xml"/>
</bean>
</property>
...
在ignite-logging-log4j.xml文件设置中进行了以下更改。您可以使用Ignite分发zip中的默认值作为占位符。将FILE附加程序更改为此:
<!--<appender name="FILE" class="org.apache.ignite.logger.log4j.Log4jRollingFileAppender">-->
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="DEBUG"/>
<param name="File" value="C:/Ignite/log/MyIgnite.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="1KB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
</layout>
</appender>
启动Ignite实例。
public static void main(String[] args){
Ignition.start("config/<your-ignite-config-filename>.xml");
}
之后,您应该在目录中观察到一堆〜1KB的日志文件:
-rw-r--r-- 1 177 May 1 01:15 MyIgnite.log
-rw-r--r-- 1 1512 May 1 01:15 MyIgnite.log.1
-rw-r--r-- 1 1050 May 1 01:15 MyIgnite.log.10
-rw-r--r-- 1 1146 May 1 01:15 MyIgnite.log.2
-rw-r--r-- 1 1402 May 1 01:15 MyIgnite.log.3