4 Stimmen

Entfernen der JGroups-Startmeldung : GMS

Beim Start von JGroups 2.7.0. GA schreibt in System.out eine Nachricht in der Art von:

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

Ich möchte es entweder unterdrücken oder umleiten es mit Log4j (die der Rest des Rahmens verwendet).

Ideen?


Ich möchte System.out nicht selbst umleiten, da dies normalerweise mehr Ärger verursacht, als es wert ist.

4voto

Sie können den Ausdruck der GMS-Adresse unterdrücken, indem Sie in Ihrem XML

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

Funktioniert auch unter JGroups 2.5.1.

1voto

WhiteScars Punkte 71

So habe ich es geschafft, den GMS-String in die Protokolle zu drucken.

Zuerst deaktivieren

<pbcast.GMS print_local_addr="false"> 

dann,

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);

Arbeitet mit 4.2.3.Finale Version.

0voto

mP. Punkte 17565

Sie können System.out nicht auf log4j umleiten, das macht keinen Sinn. Denn wie sollte log4j etwas ausgeben? Es würde in einer Schleife stecken bleiben.

0 Stimmen

Danke für die Antwort. Was ich meinte, war nicht umleiten System.out - ich angegeben, dass, aber umleiten, dass einzelne JGroups Nachricht.

0 Stimmen

Mit STDOUT in JBoss ist einiges an Unfug im Gange. Wenn Sie etwas in System.out ausgeben, erhalten Sie einen Protokolleintrag im log4j-Protokoll wie "15:32:51,919 [] INFO [STDOUT] blah blah". Also etwas ist die Umleitung von stdout und die Zuweisung zu einer speziellen log4j-Kategorie.

0 Stimmen

@Skaffman Was ich meinte, ist, da die ursprüngliche echte undecorated Handle zu Sysout gewickelt ist seine ein Chaos zu versuchen, Sys.out Drucke zu erfassen. Nach allem, wo würden Sie sie drucken - zu sich selbst, die in, dass wieder gefangen werden führen - usw... es endet nicht. Wenn man das Original Sysout hätte, könnte man alles machen. Es ist nicht schwer, Sysout-Ausdrucke zu erfassen, indem man einfach das Original ersetzt, aber es ist wichtig, das Original im Griff zu behalten, damit man darauf drucken kann, wenn man es wünscht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X