【问题标题】:Hazelcast exception in logging日志记录中的 Hazelcast 异常
【发布时间】:2016-03-16 03:09:31
【问题描述】:

使用: 榛树 3.6.1 日志4j 2.5 slf4j 1.7.13

使用 Log4j 的 Hazelcast 客户端无法记录 Membership 'printout'

Member [localhost]:19325

这个客户端正在以编程方式初始化(​​不是通过 spring)。

相反,日志基础设施会引发异常

2016-03-09 15:49:34,195 hz.client_0_qv-core.event-4 ERROR An exception occurred processing Appender STDOUT java.lang.IllegalArgumentException: can't parse argument number: Member [localhost]:19325

at java.text.MessageFormat.makeFormat(MessageFormat.java:1429)
at java.text.MessageFormat.applyPattern(MessageFormat.java:479)
at java.text.MessageFormat.<init>(MessageFormat.java:362)
at java.text.MessageFormat.format(MessageFormat.java:840)
at org.apache.logging.log4j.message.MessageFormatMessage.formatMessage(MessageFormatMessage.java:94)

错误与集群成员的数量无关。

服务器能够使用相同的代码库很好地打印消息。 如果需要,我可以提供完整的堆栈跟踪。

【问题讨论】:

  • 一个重要说明:-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager 这是用来指向log4j的

标签: hazelcast


【解决方案1】:

使用系统属性定义日志配置:-Dhazelcast.logging.type 解决了这个问题。

【讨论】:

    【解决方案2】:

    您是否尝试将 Hazelcast 日志记录直接绑定到 log4j? http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#logging-configuration

    【讨论】:

    • 我已经尝试了所有组合:clientConfig.setProperty("hazelcast.logging.type", "log4j"); , slf4j, jdk 默认。只要我将日志重定向到 log4j 之上的任何日志框架,我就会得到这个异常。
    • 哇,好的,所以添加 jvm 系统属性,如 -Dhazelcast.logging.type 有效,客户端配置中的设置没有?
    • 好问题,你能为此提交一个github问题吗,我想它应该也可以,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    相关资源
    最近更新 更多