平時開發(fā)時我們能很方便的在eclipse中看到控制圖輸出信息.一旦程序獨(dú)立運(yùn)行,我們就很難看到這些信息了.尤其是有時候我們程序?qū)OG4J使用不規(guī)范,開發(fā)中隨意用System.out.println();輸出程序運(yùn)行信息.
反正是總有人因?yàn)槟承┰蛞东@控制臺輸入........(比如偶^_^)
對于普通的java程序包括swt程序,我們可以把控制臺輸出重定向到文本文件或者界面文本框.
?1?????class?ConsoleThread?extends?Thread?{
?2?????????private?PipedInputStream?pis?=?new?PipedInputStream();
?3?
?4?????????private?PipedOutputStream?pos;
?5?
?6?????????private?BufferedReader?reader?=?new?BufferedReader(new?InputStreamReader(pis));
?7?
?8?????????private?boolean?run?=?true;
?9?
10?????????public?ConsoleThread()?throws?IOException?{
11?????????????pos?=?new?PipedOutputStream(pis);
12?????????}
13?
14?????????public?PipedOutputStream?getOut()?{
15?????????????return?pos;
16?????????}
17?
18?????????public?void?run()?{
19?????????????String?line?=?null;
20?????????????while?(run)?{
21?????????????????try?{
22?????????????????????line?=?reader.readLine();
23?????????????????}?catch?(IOException?ioe)?{
24?????????????????????break;
25?????????????????}
26?????????????????if?(line?==?null)?{
27?????????????????????break;
28?????????????????}?else?{
29?????????????????????addText(line);//這里處理截獲的控制臺輸出
30?????????????????}
31?????????????}
32?????????}
33?
34?????????public?boolean?isRun()?{
35?????????????return?run;
36?????????}
37?
38?????????public?void?setRun(boolean?run)?{
39?????????????this.run?=?run;
40?????????}
41?????}
調(diào)用:
1?try?{
2?????????????ConsoleThread?coThread??=?new?ConsoleThread();
3?????????????System.setOut(new?PrintStream(coThread.getOut(),?true));
4?????????????System.setErr(new?PrintStream(coThread.getOut(),?true));
5?????????????coThread.start();
6?????????}?catch?(IOException?e)?{
7?????????????e.printStackTrace();
8?????????}
但是有個問題,log4j輸出到控制臺的信息捕獲不到........
郁悶
log4j.properties
1?log4j.rootLogger=DEBUG?,?stdout
2?
3?log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4?log4j.appender.console.Target?=?System.out
5?log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
6?log4j.appender.stdout.layout.ConversionPattern=%d?%p?[%c]?-?%m%n
posted on 2007-01-03 15:01
交口稱贊 閱讀(2731)
評論(0) 編輯 收藏 所屬分類:
java相關(guān)