我使用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"/>
但这不是我所需要的。我该如何正确配置服务器/客户端中的日志?
答案 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”文件夹即可。