J'appelle du code C via JNI de JAVA.JNI printf to log4j
Dans mon C, je fais plusieurs printf que je veux enregistrer avec log4j.
printf("Could not find HID device\n");
fflush(stdout);
Ils apparaissent bien dans la console Eclipse, avec log4j rediriger stdout à mon enregistreur:
System.setOut(new PrintStream(new OutputStreamLogger(log, Priority.DEBUG), true));
Quand j'appelle « System.out.println », il est écrit à mon fichier journal .
Mais les imprimantes JNI ne le font pas. Ne sont-ils pas dans la stdout?
Comment puis-je les mettre dans mon fichier journal?
'System.setOut' change où' System.out.println' est dirigé, depuis 'stdout' vers votre flux personnalisé. Cela ne change pas réellement 'stdout'. – bradimus
Y at-il un moyen de capturer tous les stdout? – Romain