3

如何将 System.out 的输出发送到套接字,例如 PrintWriter?

我需要将控制台输出(std 和 err)上出现的任何内容发送到 PrintWriter,因此是一个套接字。

谢谢你。

4

2 回答 2

4

也许你可以这样尝试:

OutputStream os = socket.getOutputStream(); // for example
PrintStream ps = new PrintStream(os);
System.setOut(ps);
于 2012-06-08T09:45:29.933 回答
0

好吧,您可以,但请更具体地说明您的要求。如果要发送日志消息,最好使用一些日志框架,例如,您可以在其中ConsoleAppender立即切换SocketAppender

您还可以替换System.outSystem.setOut()并将输出重定向到其他目标。

如果您想重定向某个应用程序的整个输出,您也可以尝试一些 bash/nc解决方法:

$ java -jar your_app.jar | nc some_server
于 2012-06-08T09:49:06.283 回答