System.out输出的信息,难于控制,让log4j接管System.out。
第一步,自定义输出流,翻译成java语言就是Log4jPrintStream extends PrintStream,在该流中重写print方法,println方法,用log.debug输出
第二部,给jvm分配新的standard输出流,翻译成java语言就是 System.setOut(new Log4jPrintStream())
上干货,fuck goods
测试主类,SystemOut2Log.java
package redirect;
public class SystemOut2Log {
static {
Log4jPrintStream.redirectSystemOut();
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.print("abc");
System.out.print(i);
System.out.print((int)(Math.random()*100));
}