2 Stimmen

Java JNA leitet die Ausgabe an den Logger um

Ich greife über JNA auf OpenCV zu. Wenn meine Prozesse zu lange brauchen, um ein Bild zu verarbeiten, gibt OpenCV die Meldung "Camera dropped frame" aus. Mein Problem ist, es produziert zu viele Nachrichten, die die Konsole nutzlos für meine Protokollierung Zwecke macht. Unten Google-Code-Suche zeigt, dass es in cout gedruckt wird,

http://www.google.com/codesearch?hl=en&lr=&q=%22camera+dropped+frame%21%22&sbtn=Suche

Ich habe versucht, sowohl out als auch err in meine Protokolle umzuleiten, aber ich erhalte immer noch die Meldungen auf der Konsole.

      (System/setOut (proxy [java.io.PrintStream] [System/out] 
                       (print [s] ;;(trace s)
                              )
                       (println [s] ;;(trace s)
                                )
                       ))

      (System/setErr (proxy [java.io.PrintStream] [System/err] 
                       (print [s] ;;(trace s)
                              )
                       (println [s] ;;(trace s)
                                )
                       ))

-2voto

mP. Punkte 17565

Da Sie JNA verwenden, um mit OpenCV zu sprechen, was mir wahrscheinlich impliziert, dass OpenCV etwas natives ist und wahrscheinlich nicht einmal von Java weiß. Die nächste Frage ist, da es keine Java-API hat, warum sollte es versuchen, Nachrichten mit System.out zu drucken? Wahrscheinlich ruft es das Betriebssystem auf die gleiche Weise auf, wie es das Standard-System.out tut, um Text auf der Konsole auszugeben.

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