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)編輯 收藏
          這里制作一個引子,具體內容比較多,而且hibernate文檔里的hql篇寫的很詳細
          可以這么用:
          List list = getHibernateTemplate().find("select new map(t1.c1,t2.c3) from table1 t1 ,table2 t2 where t1.c1=t2.c2");
          這樣的話list里的每個元素都是一個map,每個map里包含兩個元素
          注意:這里的table1和table2都是class名并不是真的表名,畢竟這是hql。除了可以用map還還支持list和自定義的bean。


          posted @ 2008-04-17 17:05 小平 閱讀(1895) | 評論 (0)編輯 收藏
          DB2的Type-4驅動真的很詭異,配了兩天沒配上,發現是多引了一個包。就是他----“db2java.zip(db2java.jar)”只要有了他就算你已經引入了db2jcc.jar、db2jcc_license_cisuz.jar、db2jcc_license_cu.jar也沒用。
          不知道怎么回事,本以為多引就沒錯,沒想到載這了。
          順便吧db2 type-4的配置方法貼下面:
          jdbc:db2://ip:port/數據庫
          驅動名:com.ibm.db2.jcc.DB2Driver

          我日他IBM!該死的IBM,我算是服了,配好的type-4驅動中文數據顯示的全是亂碼,準備切到type-2上試試,結構還是不行,查來查去是數據庫pagecode的事,數據庫的字符集改成gbk,客戶端的pagecode也改成跟數據庫一樣的,ODBC算是能用了,type-2也能用了,然后又用type-4一試!連不上了!說字符集不匹配,上網一查說要使用IBM專用的JDK,我日了,換了IBM的JDK,配好環境變量eclipse又不能用了!我算是被IBM搞死了,一氣之下也不準備再嘗試type-4了。
          我這里用的IBM JDK1.4,db2 V8
          posted @ 2008-04-17 16:51 小平 閱讀(2532) | 評論 (3)編輯 收藏

          近日抽風,想了解以下java與串口并口通訊的問題,上網查了半天,找到了sun幾年前的一個破包,comm.jar

          2.0版的,遇到一個比較奇怪的問題,這個包里的demo程序用cmd可以運行,但是用eclipse編譯就不能運行,一直以為是dll庫和配置文件的問題,幾乎將兩個文件copy到了系統中全部可能出現的地方都沒有解決。百般無奈之下,找到了http://blog.csdn.net/djsl6071/archive/2007/04/25/1583979.aspx這個博客,下載了rxtx把問題搞定了。
          posted @ 2008-04-17 16:40 小平 閱讀(576) | 評論 (0)編輯 收藏
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          framework

          j2me

          java

          linux

          web

          其他

          友情鏈接

          素材

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 晋城| 天门市| 应城市| 通城县| 中西区| 广东省| 太康县| 泌阳县| 梅河口市| 宝应县| 临泉县| 临汾市| 伊金霍洛旗| 诸暨市| 天镇县| 怀集县| 青冈县| 仁化县| 廊坊市| 乳山市| 桐城市| 成都市| 广宗县| 闸北区| 双流县| 安西县| 萝北县| 邓州市| 余庆县| 夹江县| 曲松县| 云龙县| 屏东县| 紫阳县| 比如县| 遂平县| 定远县| 景谷| 剑川县| 淳安县| 二连浩特市|