如何在Apache Ignite,sfl4j或log4j中配置日志记录

时间:2019-05-31 10:08:02

标签: spring-boot logging log4j slf4j ignite

我使用Apache Ignite创建了spring-boot应用,并希望在服务器和客户端上配置日志记录。我遵循了说明https://apacheignite.readme.io/docs/logging,但是在记录时遇到了一些问题。 对于Slf4j

<property name="gridLogger">
    <bean class="org.apache.ignite.logger.slf4j.Slf4jLogger"/>
</property>

在服务器端,如果我设置了GNITE_QUIET=false

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

好吧,我在$ IGNITE_HOME / libs / ignite-slf4j / slf4j-log4j12和log4j中添加了库

log4j:WARN No appenders could be found for logger (org.apache.ignite.internal.util.typedef.G).
log4j:WARN Please initialize the log4j system properly.

我尝试设置-Dlog4j.configurationFile = config / log4j.xml,但这无济于事。

在服务器端,我设法建立了日志记录

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

但是在春季启动时,我得到了

Caused by: class org.apache.ignite.IgniteCheckedException: Log4j configuration path was not found: config/log4j.xml

如果我设置了绝对路径,它将起作用

<constructor-arg type="java.lang.String"  value="/home/username/work/ignite/config/log4j.xml"/>

但这不是我所需要的。我该如何正确配置服务器/客户端中的日志?

1 个答案:

答案 0 :(得分:0)

根据您的第一个错误,您使用Maven吗?如果是,您是否尝试将以下依赖项包含到POM文件中?

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.25</version>
        <scope>test</scope>
    </dependency>

可能会引发“找不到Log4j配置路径”,因为您将配置放置到了不属于项目的文件夹中。如果您不想使用完整路径,只需将其移至项目的“ resources”文件夹即可。