我们正在使用连接到一个 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 消息?