[转]将java的console日志写入文件
来源:互联网 发布:mac os iso镜像 编辑:程序博客网 时间:2024/06/03 14:44
FileOutputStream bos = new FileOutputStream("output.txt");System.setOut(new PrintStream(bos));System.out.println("output to output.txt");这样,console的输出全部写入文件output.txt,但是控制台不会有输出信息。
如果希望控制台也有输出:
新建一个继承java.io.OutputStream的类,实现多输出方式
import java.io.IOException;import java.io.OutputStream;public class MultiOutputStream extends OutputStream { OutputStream outputStream1,outputStream2; public MultiOutputStream(OutputStream stream1, OutputStream stream2 ) throws IOException{ outputStream1 = stream1; outputStream2 = stream2; } @Override public void write(int b) throws IOException { // TODO Auto-generated method stub outputStream1.write(b); outputStream2.write(b); }}再调用该类的对象import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintStream;class Out2File { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub PrintStream oldPrintStream = System.out; FileOutputStream bos = new FileOutputStream("output.txt"); MultiOutputStream multi = new MultiOutputStream(new PrintStream(bos),oldPrintStream); System.setOut(new PrintStream(multi)); System.out.println("test"); }}
这样console和文件中都会有输出
1、要解决console和文件同时输出的问题还需要自己实现一个OutputStream,让OutputStream能同时写入多个输出.
首先继承java.io.OutputStream,然后实现public abstract void write(int b) throws IOException; 并且覆写java.io.OutputStream中的其他的方法,具体的实现方式按照自己的需求来做,这里就不做出具体的实现了.
通过实现自己实现OutputStream之后,
在
PrintStream printStreamOut = new PrintStream(outputStreamOut);
PrintStream printStreamErr = new PrintStream(outputStreamErr);
中分别把outputStreamOut和outputStreamErr对象换成自己实现的OutputStream对象,这样就可以实现在一个OutputStream对象中进行多个输出操作.
在
PrintStream printStreamOut = new PrintStream(outputStreamOut);
PrintStream printStreamErr = new PrintStream(outputStreamErr);
中分别把outputStreamOut和outputStreamErr对象换成自己实现的OutputStream对象,这样就可以实现在一个OutputStream对象中进行多个输出操作.
按照以上的思路进行的实现,可以完全把控制台的所有的输出写入到日志文件中,包括System.out.println这样的输出.
ref:http://jianshusoft.blog.51cto.com/2380869/769913
0 0
- 将java的console日志写入文件
- [转]将java的console日志写入文件
- 将java console的输出写入文件
- 将java console的输出写入文件
- java将捕获的异常写入日志
- java写入日志文件
- Java-写入日志到指定的文件
- 设置Log4j 的properties文件,将日志写入数据库
- log4j 无法将日志写入到文件里的解决办法
- 利用slf4j+log4j将日志写入指定的文件中
- Eclipse将console中的log写入到文件中
- 将日志文件写入MySqL中
- error_log()将错误信息写入日志文件
- log4j将日志写入任意名字的文件中,支持动态写入
- java将string写入文件
- java将对象写入文件
- java 将对象写入文件
- 【JAVA笔记】将字符串信息写入xml文件的方法
- spring hibernate c3p0中遇到问题
- 字符串处理的两个问题
- BZOJ 4269 再见Xor 高斯消元
- 浅谈 Linux 内核开发之网络设备驱动
- 记录的起点
- [转]将java的console日志写入文件
- Windows环境下尝试安装并配置PHP PEAR
- Select2用法简介
- RadioButton 选择框的位置
- 1、获取客户端真实ip地址
- 黑马程序员-数组篇
- 一个神秘的电话—一个程序员的成长史(2)
- 数据库锁机制
- sql hql 查询