4

在启动 JGroups 2.7.0. GA 向System.out写入一条消息,内容如下:

---------------------------------------------------------
GMS: address is 10.0.3.35:48641 (cluster=blabla)
---------------------------------------------------------

我想抑制它或使用 Log4j(框架的其余部分使用)重定向它。

想法?


我不想自己重定向 System.out ,因为这通常会导致比其价值更多的麻烦。

4

3 回答 3

4

您可以通过在 XML 中设置来禁止打印 GMS 地址

<pbcast.GMS print_local_addr="false" ...>

也适用于 JGroups 2.5.1。

于 2009-08-10T18:36:40.713 回答
1

这就是我设法将 GMS 字符串打印到日志的方式。

首先禁用

<pbcast.GMS print_local_addr="false"> 

然后,

String clusterName = channel.getClusterName();
String clusterAddress = channel.getAddressAsString();
String localAddress = channel.getProtocolStack()
        .dumpStats()
        .get("UDP")
        .get("local_physical_address")
        .toString();

StringBuilder border = new StringBuilder();
String GMS = String.format("GMS: address=%s, cluster=%s, physical address=%s", 
        clusterAddress, 
        clusterName, 
        localAddress
);
logger.info("{}", GMS);

适用于4.2.3.Final版本。

于 2020-12-08T01:30:35.577 回答
0

您不能将 System.out 重定向到没有意义的 log4j。毕竟 log4j 将如何打印任何东西?它会陷入一个循环。

于 2009-06-19T12:14:34.470 回答