RXTX Versions Info abschalten

Ralph-Uwe

Bekanntes Mitglied
Hallo,

ich benutze RXTX-2.1-7.

Jedesmal, wenn meine Anwendung gestartet wird, erscheint auf der Konsole die Versionsinfo:

Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7

Ich habe danach gegoogelt und die Info gefunden, dass man die Ausgabe abschalten kann,
aber leider funktioniert es nicht.

[Java]
System.setProperty("gnu.io.rxtx.NoVersionOutput", "true");
[/code]

Weiß jemand wie es richtig funktioniert?
 
Nö, aber schau doch mal in den Source von RXTX... Sollte recht einfach zu finden sein.

- Alex
 
leider sieht es im Quelltext so aus, als könnte man diese Meldung nicht abschalten.

Schade eigendlich!

Falls jemandem noch was einfällt, wäre ich für jede Info dankbar.
 
Ich denke es gibt da noch einen möglichen Trick:

Die Ausgabe erfolgt via "System.out.println()". Du könntest vor dem initiellen laden der entsprechenden Klasse den Output ins Nirvana, und danach wieder zurück auf default umleiten. Damit hättest du die Ausgabe "unterdrückt".

Pseudocode:

Code:
// sysout ins nirvana umleiten
Class.forName("gnu.io.RXTXCommDriver");
// sysout zurück auf default leiten

- Alex
 
Hallo tuxedo,

danke für Deine Hilfe. Die Umleitung funktioniert bestens.

ich habe jetzt folgendes implementiert:

Java:
PrintStream umleitung = null;
   try {
      umleitung = new PrintStream("test.txt");
   } catch (FileNotFoundException e1) {
   e1.printStackTrace();
}
System.out.println("diese 1. Ausgabe wird angezeigt");
System.setOut(umleitung);
System.out.println("diese 2. Ausgabe wird in eine Datei Namens test.txt geschrieben");
System.setOut(new PrintStream( new BufferedOutputStream(new FileOutputStream(FileDescriptor.out), 128), true));
System.out.println("diese 3. Ausgabe wird wieder angezeigt");

Entspricht zwar nicht dem was ich mir eigentlich vorgestellt habe,
aber der Zweck heiligt die Mittel 🙂
 
Java:
PrintStream out = System.out;
System.out.println("diese 1. Ausgabe wird angezeigt");
System.setOut(new PrintStream(File.createTempFile("foo", "tmp")));
System.out.println("diese 2. Ausgabe wird in eine Datei Namens test.txt geschrieben");
System.setOut(out);
System.out.println("diese 3. Ausgabe wird wieder angezeigt");
Etwas einfacher 🙂
 

Neue Themen


Zurück
Oben