0

我们正在使用连接到一个 OpenEJB 服务器容器的 OpenEJB 客户端。OpenEJB 服务器由 Corosync 和 Pacemaker 管理以进行故障转移操作。每当 OpenEJB 实例失败(由网络、硬件、JVM 或其他问题引起)时,Corosync+Pacemaker 就会在另一台机器上启动另一个 OpenEJB 服务器实例。该过程相对较快,因此对于我们的用例来说这不是问题。

尽管 OpenEJB 提供了原生的故障转移机制,但我们仍然选择使用自己的机制来管理它,因为这样我们可以更好地控制客户端。一切都按预期工作,除了过于冗长的客户端日志记录。我们想关闭它或微调它以禁用连接失败消息,例如:

22/08/2011 14:06:23 org.apache.openejb.client.StickyConnectionStrategy connect AVISO:故障转移:无法连接到服务器:ejbd://192.168.1.5:4201 异常:无法连接到服务器'ejbd: //192.168.1.5:4201'。检查服务器是否已启动以及指定的 serverURL 是否正确。接下来尝试。

我已经尝试降低 OpenEJB 客户端中 log4j 的日志记录级别,但失败了。根据log4j 文档这篇文章,应该将所需级别设置为“错误”或“致命”。问题是,类别名称是什么?

我已经尝试过:

  • p.put("log4j.category.OpenEJB.client", "error");
  • p.put("log4j.category.OpenEJB", "error");

但一切都没有改变。那么,我需要使用什么属性来关闭这些 WARN 消息?

4

2 回答 2

1

客户端使用 java.util.logging 所以应该可以通过任何与之相关的机制进行配置。

于 2011-08-22T18:07:13.083 回答
0

只是把信息放在一起。为了控制 OpenEJB 客户端的日志记录机制,必须配置常规 Java Logger:

//Get the logger
Logger logger=Logger.getLogger("OpenEJB.client");

//Change its behavior...
logger.setLevel(Level.SEVERE);

而已。

于 2011-08-23T13:18:58.407 回答