JAVAからJNI経由でCコードを呼び出します。JNI printf to log4j
私のCでは、私はlog4jでログしたいと思います。
printf("Could not find HID device\n");
fflush(stdout);
彼らは私が私のロガーに標準出力をリダイレクトするのlog4jで、Eclipseのコンソールで正常に表示さ:私は「のSystem.out.println」を呼び出すと
System.setOut(new PrintStream(new OutputStreamLogger(log, Priority.DEBUG), true));
、それは私のログファイルに書き込まれています。
しかし、JNIのprintfはそうではありません。 彼らはstdoutにいませんか?
どうすればログファイルに保存できますか?
'System.setOut'は' System.out.println'が 'stdout'からカスタムストリームに向けて変更されます。実際には 'stdout'は変更されません。 – bradimus
すべてのstdoutをキャプチャする方法はありますか? – Romain