【发布时间】:2009-12-30 22:44:05
【问题描述】:
我的 java 应用程序使用 JNI 调用用 C 编写的库。这个本机库将错误记录到 stderr,但我想以某种方式通过我的 log4j 记录器重定向错误流。这可能吗?
C 库是外部的 - 我没有源代码,所以无法更改。
谢谢
【问题讨论】:
-
JNI 层是您的应用程序的一部分还是外部工具包的一部分?
-
这也是外部工具包的一部分。
-
以什么粒度调用外部代码,来回传递多少数据?换句话说,您可以将工作作为子进程生成吗?重定向您无法控制的 C 代码的 stdout 或 stderr 非常困难。我以为我以前做过,但自从我编写那种 C 代码以来至少已经有 10 年了,我在网上只能找到关于将它重定向到文件的信息。
标签: java logging java-native-interface