<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 31,  comments - 31,  trackbacks - 0
           這幾天做項目,需要做一個類似于控制臺的界面,可以將日志回顯到一個文本區域里,幾經查找,反復測試寫了以下測試代碼。
    這是log4j.properties的配置內容
        log4j.rootCategory= ,WriterAppender

    log4j.appender.WriterAppender
    =org.apache.log4j.WriterAppender
    log4j.appender.WriterAppender.Threshold
    =debug
    log4j.appender.WriterAppender.layout
    =org.apache.log4j.PatternLayout
    log4j.appender.WriterAppender.layout.ConversionPattern
    =%d{ISO8601} - %- %m%n
    主程序
    import java.io.PipedReader;
    import java.io.PipedWriter;
    import java.io.Writer;

    import org.apache.log4j.Appender;
    import org.apache.log4j.Logger;
    import org.apache.log4j.WriterAppender;

    public class Log4jMain {
        
    static public Logger logger = Logger.getLogger(Log4jMain.class);

        
    public static void main(String[] arg) {
            
            
            Logger root 
    = Logger.getRootLogger();
            
    try {
                Appender appender 
    = root.getAppender("WriterAppender");
                PipedReader reader 
    = new PipedReader();
                Writer writer 
    = new PipedWriter( reader) ;
            
                ((WriterAppender) appender).setWriter(writer);
                
                Thread t 
    = new AaaThread(reader);
                t.start();
                Logger logger 
    = Logger.getLogger(Log4jMain.class);
                logger.error(
    "asdf");
                logger.info(
    "asdf");
                logger.debug(
    "asdf");
                logger.fatal(
    "asdf");
                    //hh是一個class,test方法里只有幾個logger.info("aaa"),用于測試用,這東西可以去掉
                
    new HH().test();

            }
     catch (Exception e) {
            }


        }

        
    }
    因為log4j提供的是 Writer,所以通過使用PipedWriter連接到PipedReader,并通過一個thread來處理PipedReader的數據就可以回顯了。如果你需要的話可以將下面的System.out.println(scanner.nextLine());改成你需要顯示的地方就行了。
    import java.io.PipedReader;
    import java.util.Scanner;

    public class AaaThread extends Thread {
        PipedReader reader;

        
    public AaaThread(PipedReader reader) {
            
    this.reader = reader;
        }


        
    public void run() {
            Scanner scanner 
    = new Scanner(reader);
            
    while (scanner.hasNext()) {
                System.out.println(scanner.nextLine());
            }

        }

    }
    posted @ 2008-06-06 09:31 小平 閱讀(1224) | 評論 (0)編輯 收藏
    <2008年6月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日产乱码一卡二卡三免费| 成年丰满熟妇午夜免费视频| 亚洲国产精品ⅴa在线观看| WWW亚洲色大成网络.COM | 国产高清免费的视频| 亚洲av无码专区在线观看下载| 国外成人免费高清激情视频| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲aⅴ无码专区在线观看| 色视频色露露永久免费观看| 久久九九亚洲精品| 2020天堂在线亚洲精品专区| 蜜桃视频在线观看免费网址入口| 成人亚洲性情网站WWW在线观看 | 免费国产草莓视频在线观看黄| 全部免费国产潢色一级| 一边摸一边爽一边叫床免费视频| 久久国内免费视频| 亚洲乱码无人区卡1卡2卡3| 国产一级理论免费版| 中文精品人人永久免费| 亚洲视屏在线观看| 插B内射18免费视频| 四虎影视在线看免费观看| 日本亚洲成高清一区二区三区| 亚洲国产精品免费观看| 亚洲欧美第一成人网站7777| 亚洲精品国产精品乱码不卞| 久久国产乱子免费精品| 亚洲日韩一区二区一无码| 亚洲av无码天堂一区二区三区 | 免费AA片少妇人AA片直播| 亚洲GV天堂GV无码男同| 国产亚洲美日韩AV中文字幕无码成人 | 国内精品免费视频精选在线观看| 久久久久亚洲AV无码观看| 国产大片免费观看中文字幕| a级在线免费观看| 亚洲日本天堂在线| 亚洲va久久久噜噜噜久久| 国产99久久久久久免费看|