posts - 97,  comments - 93,  trackbacks - 0

          //*******************The Log class
          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileWriter;
          import java.io.IOException;
          import java.uitl.Date;
          import java.text.DateFormat;

          public class Log{
             private static final String filePath = PropertyReader.getResource("Log_File_Path");//Supposing we have define in the last ProperyReader class and the file
            
             public static final String EXCEPTION                  =   "Exception";
             public static final String CREATE_STAFF           =   "Create Staff";
             public static final String EDIT_STAFF                 =   "Edit Staff";
             public static final String DELETE_STAFF            =   "Delete Staff";
             public static final String RECORD_HAS_EXIST  =   "Record Has Exist";

             public static void log(String msg_type, Exception e){
                StringBuffer errMsg = new StringBuffer(e.toString);
               
                for(int i=0;i<e.getStackTrace().length;i++){
                   errMsg.append("\n\t at");
                   errMsg.append(e.getStackTrace()[i].toString);
                }
                log(msg_type,errMsg.toString());
                OptionPanel.showErrMsg("Sorry,System may have an error \n System will exit");
                System.exit(-1);
             }

            public static void log(String msg.type,Staff staff){
               String msg = null;
               if(msg_type == CREATE_STAFF){
                   msg = staff.toString() + "has benn created";
               }else if(msg_type == EDIT_STAFF){
                   msg = staff.toString() + "has been Changed";
               }else if(msg_type == DELETE_STAFF){
                   msg = staff.toString() + "has been Deleted";
               }else if(msg_type == RECORD_HAS_EXIST){
                   msg = staff.toString() + "has exist in the database";
               }
               log(msg_type,msg);
            }

            private static void log(String msg_type,String msg){
                BufferedWriter out = null;
                DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
               
                try{
                  out = new BufferedWriter(new FileWriter(getLogFilePath(),true));//如果為 true,則將字節寫入文件末尾處,而不是寫入文件開始處
                  out.write("["+df.format(new Date()) + "] <" + msg_type + "> :" + msg);
                  out.newline();
                  out.newline();
                }catch(IOException e){
                    e.printStackTrace();
                }finally{
                   try{
                     if(out!=null){
                        out.close();
                     }
                   }catch(IOException e){
                      e.printStackTrace();
                   }
                }
            }

            private static String getLogFilePath(){
               File logDir = new File(filePath);
               if(!logDir.exists()){
                 logDir.mkdir();
               }
              
               int i = 1;
               String fileName = filePath + "log_";
               File file = new File(fileName + i + ".txt");
             
               while(file.exists() && file.length() > 30000L) {
                   i++;
                   file = new File(fileName + i + ".txt");
               }
             
                return fileName + i + ".txt"
            }
          }

          //*****************************The OptionPanel Dialog Class for the Log Class
          import javax.swing.JOptionPane;

          public class OptionPanel {
             private static final String appTitle = PropertyReader.getResource("App_Title");//suposing the file has been established and the property app-title stands for the name of application
             private static final MainFrame frame = MainFrame.getMainFrame();

             public static void showWarningMsg(String msg){
                JOptionPane.showMessageDialog(frame,msg,appTitle,JOptionPane.WARNING_MESSAGE);
             }
             public static void showErrMsg(String msg){
                 JOptionPane.showMessageDialog(frame,msg,appTitle,JOptionPane.Error_MESSAGE);
             }
             public static int showConfirmMsg(String msg){
                  return JOptionPane.showConfirmDialog(frame,msg,appTitle,JOptionPane.YES_NO_OPTON,JOptionPane.QUESTION_MESSAGE);
             }
          }

          posted on 2007-04-05 10:01 wqwqwqwqwq 閱讀(876) 評論(1)  編輯  收藏 所屬分類: Simple Java

          FeedBack:
          # re: Write a Log && Use the Properties
          2007-04-07 18:29 | 曲強
          我也叫曲強,我QQ139876554,有時間加我吧  回復  更多評論
            
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術網站

          java技術相關

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 手机| 甘谷县| 柯坪县| 磴口县| 英吉沙县| 固安县| 新密市| 桐梓县| 玉树县| 堆龙德庆县| 阿荣旗| 台南县| 白河县| 连州市| 星座| 塔城市| 峨眉山市| 鄂州市| 普陀区| 屯留县| 台江县| 泗阳县| 沐川县| 额尔古纳市| 岳普湖县| 南召县| 云龙县| 历史| 汪清县| 泰和县| 万宁市| 清水县| 军事| 金山区| 繁昌县| 调兵山市| 石台县| 鸡西市| 泰州市| 交口县| 玛多县|