Ich rufe C-Code über JNI von JAVA.JNI printf zu log4j
In meinem C, mache ich mehrere printf, die ich mit log4j loggen möchte.
printf("Could not find HID device\n");
fflush(stdout);
Sie zeigen sich fein in der Eclipse-Konsole, mit log4j ich die stdout meinem Logger umleiten:
System.setOut(new PrintStream(new OutputStreamLogger(log, Priority.DEBUG), true));
Als ich "System.out.println" nennen, ist es meiner Protokolldatei geschrieben .
Aber die JNI printfs nicht. Sind sie nicht im Stand?
Wie kann ich sie in mein Logfile einfügen?
"System.setOut" ändert sich, wobei "System.out.println" von "stdout" zu Ihrem benutzerdefinierten Stream geleitet wird. Es ändert nicht wirklich 'stdout'. – bradimus
Gibt es eine Möglichkeit, alle stdout zu erfassen? – Romain