将所有输出定向到 MessageConsole
Directing all output to MessageConsole
目前我正在使用 MessageConsole's
、MessageConsoleStream
写入控制台。
我的问题是,是否可以进行一些配置,使我写入输出流的所有内容都重定向到 MessageConsoleStream
。
例如,如果我发出以下命令,它应该会自动写入配置的控制台。
System.out.println("txt")
e.printStackTrace()
- 如果发生未经检查的异常(应该自动转到控制台)。
您可以重定向所有 out
和 err
数据,System.out.println("txt")
和 e.printStackTrace()
打印到 out
流,而 "Unchecked excepctions" 是打印到 err
流。
在此示例中,System.out.println("txt")
会将 txt
写入 log.txt
文件。
OutputStream out = new FileOutputStream("log.txt");
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);
在你的情况下你可以这样做:
MessageConsoleStream out = ...;
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);
目前我正在使用 MessageConsole's
、MessageConsoleStream
写入控制台。
我的问题是,是否可以进行一些配置,使我写入输出流的所有内容都重定向到 MessageConsoleStream
。
例如,如果我发出以下命令,它应该会自动写入配置的控制台。
System.out.println("txt")
e.printStackTrace()
- 如果发生未经检查的异常(应该自动转到控制台)。
您可以重定向所有 out
和 err
数据,System.out.println("txt")
和 e.printStackTrace()
打印到 out
流,而 "Unchecked excepctions" 是打印到 err
流。
在此示例中,System.out.println("txt")
会将 txt
写入 log.txt
文件。
OutputStream out = new FileOutputStream("log.txt");
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);
在你的情况下你可以这样做:
MessageConsoleStream out = ...;
PrintStream stream = new PrintStream(out);
System.setOut(stream);
System.setErr(stream);