• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用JAVA寫一個日志類程序以供大家學習

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    說明: 盡管JAVA類庫和其他工具提供了不少的紀錄程序運行狀態的日志類,我發覺也 不是萬能的,有時需要根據自己調試和跟蹤需要,最好自己也要學會寫日志類來 操作自己的日志,以跟蹤程序的錯誤或其他信息。 下面,我就以我在WEB 開發 中根據自己的錯誤跟蹤需

    說明:
        盡管JAVA類庫和其他工具提供了不少的紀錄程序運行狀態的日志類,我發覺也
    不是萬能的,有時需要根據自己調試和跟蹤需要,最好自己也要學會寫日志類來
    操作自己的日志,以跟蹤程序的錯誤或其他信息。

    下面,我就以我在WEB開發中根據自己的錯誤跟蹤需要寫了個日志類。

    package myproject.logs;

    import java.text.SimpleDateFormat;
    import java.io.RandomAclearcase/" target="_blank" >ccessFile;
    import java.io.*;

    public class CreateLogs {
      private static final String CREATE_LOG_FILE_FOR_WINDOWS = "c:\\javalogs.txt";
      private static final String CREATE_LOG_FILE_FOR_LINUX = "/var/javalogs.txt";

      public static void  createLog(Exception e, String className) {
        String rootPath = CREATE_LOG_FILE_FOR_WINDOWS;
        if (File.separator.equals("/")) {
          rootPath = CREATE_LOG_FILE_FOR_LINUX;
        }
        try {
          java.util.Date date = new java.util.Date();
          SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          String exceptionDate = dateFormat.format(date);

          //將異常輸出到指定的文件下面
          RandomAccessFile raf = new RandomAccessFile(rootPath, "rw");
          raf.seek(raf.length());
          raf.writeBytes("errorTime is " + exceptionDate + "  errorClassName is " +
                         className +
                         "\n errorException is " + e.toString() + "\n");
          raf.close();
        }
        catch (Exception e1) {
          e1.printStackTrace();
        }
      }
    }

    以下以一個訪問數據庫的方法中來演示這個日志類的使用:

    public class Dboperation{
    ...//要用到的其他屬性和方法
    public boolean userIsExist(String strUser) {//判斷用戶是否存在
        boolean isExist = false;
        DBConnect dbc = null;      //DBConnect是一個專門負責連接數據庫的類
        try {
          dbc = new DBConnect();
          dbc.prepareStatement(
              "select department from address where username = ?");
          dbc.setBytes(1, strUser.getBytes("gb2312"));
          rs = dbc.executeQuery();
          if (rs.next()) {
            isExist = true;
          }
        }
        catch (Exception e) {
           CreateLogs.createLog(e,"Dboperation");    }
        finally {
          try {
            if (rs != null) {
              rs.close();
              rs = null;
            }
            dbc.close();
          }
          catch (Exception e) {
            CreateLogs.createLog(e,"Dboperation");
          }
        }
        return isExist;
      }


        這個日志類也沒有特別的,但我覺得方便之處在于,可以準確定位
    出現異常的的位置,當出現異常時,我可以很快找到出現錯誤的地方然后
    找出問題的根因并解決掉問題。這個類也可以用在JSP中,這個時候
    createLog(Exception e, String className)中的類名就是JSP的頁面
    名稱了。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>