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