log4j - Hazelcast IMDG 3.12.5 添加 log4j 依赖以支持日志记录
问题描述
我已使用以下链接关注 hazelcast 文档以支持 log4j:
https://docs.hazelcast.org/docs/latest/manual/html-single/#logging-configuration
但即使这样做,我也无法获得榛树日志。
查询:
- 我们是否明确需要添加 log4j-1.2.17.jar 文件并将此依赖项添加到 pom.xml 文件中?如果是,请让我知道 hazelcast 文档中缺少什么
- 是否可以排除故障并检查错误是什么?
解决方案
您共享的 Hazelcast 参考手册部分中有一条注释。它解释了事情:
如果您选择使用
log4j
、log4j2
或slf4j
,则应在类路径中包含正确的依赖项。
这意味着,是的。如果您使用不同于 的日志记录框架java.util.logging
,那么您必须自己提供实现。
如果您没有提供正确的实现,节点将无法启动:
java -Dhazelcast.logging.type=log4j -jar \
~/.m2/repository/com/hazelcast/hazelcast/3.12.5/hazelcast-3.12.5.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.hazelcast.logging.Log4jFactory.createLogger(Log4jFactory.java:29)
at com.hazelcast.logging.LoggerFactorySupport$1.createNew(LoggerFactorySupport.java:32)
at com.hazelcast.logging.LoggerFactorySupport$1.createNew(LoggerFactorySupport.java:30)
at com.hazelcast.util.ConcurrencyUtil.getOrPutIfAbsent(ConcurrencyUtil.java:125)
at com.hazelcast.logging.LoggerFactorySupport.getLogger(LoggerFactorySupport.java:38)
at com.hazelcast.logging.Logger.getLogger(Logger.java:110)
at com.hazelcast.logging.Logger.getLogger(Logger.java:64)
at com.hazelcast.instance.HazelcastInstanceFactory.<clinit>(HazelcastInstanceFactory.java:67)
at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:91)
at com.hazelcast.core.server.StartServer.main(StartServer.java:46)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 10 more
推荐阅读
- typescript - 这个三元运算的返回类型?(除任何以外)
- python - 在 1-2 个 epoch 后具有三元组损失的特征学习产生 100% 的 val 准确度?
- python - 为什么 tensorflow.rank 总是返回空值的形状
- python - 我想用 QMediaPlayer 播放 mp3
- javascript - 通过 google Forms API 和 Google App 脚本自动提交 Google Form
- wordpress - 如何在没有钩子的情况下在 WooCommerce 评论订单表中添加文本
- c# - 可以在同一台机器上的多个端点共享同一个端口吗?
- python - 有没有办法修复逗号溢出的 CSV 文件数据
- java - 如何使用多个扫描仪(多个资源)处理多个线程?
- node.js - Supertest 在 Node 中进行 Jest 测试时出现 MaxListenersExceedingWarning 错误