如何将 System.out 的输出发送到套接字,例如 PrintWriter?
我需要将控制台输出(std 和 err)上出现的任何内容发送到 PrintWriter,因此是一个套接字。
谢谢你。
如何将 System.out 的输出发送到套接字,例如 PrintWriter?
我需要将控制台输出(std 和 err)上出现的任何内容发送到 PrintWriter,因此是一个套接字。
谢谢你。
也许你可以这样尝试:
OutputStream os = socket.getOutputStream(); // for example
PrintStream ps = new PrintStream(os);
System.setOut(ps);
好吧,您可以,但请更具体地说明您的要求。如果要发送日志消息,最好使用一些日志框架,例如logback,您可以在其中ConsoleAppender
立即切换SocketAppender
。
您还可以替换System.out
为System.setOut()
并将输出重定向到其他目标。
如果您想重定向某个应用程序的整个输出,您也可以尝试一些 bash/nc
解决方法:
$ java -jar your_app.jar | nc some_server