Ignite Log4j未将日志创建为ignite.log

问题描述 投票:0回答:2

每次都将配置的Ignite Log4J模块和日志生成为ignite-uniqueid.log。我的要求是仅使用ignite.log获取日志。

log4j ignite gridgain
2个回答
0
投票

您应该使用XML配置参数创建自己的Log4JLogger,并将其传递给IgniteConfiguration.setLogger

XML配置文件应类似于this one from Ignite source


0
投票

[请看一下类似的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
© www.soinside.com 2019 - 2024. All rights reserved.