⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 publicbean.java

📁 此为连接池实现程序
💻 JAVA
字号:
/**
 *Description:日志处理
 *Author:肖建军
 *Copyright版权所有
 */

package com.sunrise.chnl.obj;

import java.io.*;
import java.util.*;
import java.net.*;
import org.w3c.dom.Document;

public class PublicBean
{
  public static Hashtable htb = new Hashtable();

  private static void log(String p_log,int p_type){
    //日志文件存放路径
    String s_path = "";
    //是否记录登录日志:0、否,1、是
    String s_login_log = "0";
    //登录日志文件前缀
    String s_login_prefix = "";
    //是否记录系统错误日志:0、否,1、是
    String s_error_log = "0";
    //系统错误日志文件前缀
    String s_error_prefix = "";
    //是否记录执行SQL日志:0、否,1、是
    String s_sql_log = "0";
    //执行SQL日志文件前缀
    String s_sql_prefix = "";
    //是否记录数据导入日志:0、否,1、是
    String s_load_log = "0";
    //数据导入日志文件前缀
    String s_load_prefix = "";
    try{
      ReadXml read_xml = new ReadXml();
      //Document documnet = read_xml.getDocument(getConfigFile());
      Document documnet = read_xml.getDocument("file:/C:\\Tomcat 5.0\\webapps\\test\\WEB-INF\\config.xml");
      s_path = read_xml.getConfig(documnet,"log","path");
      s_login_log = read_xml.getConfig(documnet,"log","write_login_log");
      s_login_prefix = read_xml.getConfig(documnet,"log","login_log_prefix");
      s_error_log = read_xml.getConfig(documnet,"log","write_error_log");
      s_error_prefix = read_xml.getConfig(documnet,"log","error_log_prefix");
      s_sql_log = read_xml.getConfig(documnet,"log","wirte_sql_log");
      s_sql_prefix = read_xml.getConfig(documnet,"log","sql_log_prefix");
      s_load_log = read_xml.getConfig(documnet,"log","write_load_log");
      s_load_prefix = read_xml.getConfig(documnet,"log","load_log_prefix");
      if(s_path == null || s_path.length()==0){
        s_path = "c:\\log";
      }
      File f_path=new File(s_path);
      if(!f_path.exists()) f_path.mkdir();
      String s_write = new String();
      Date d_curr = new Date();
      String s_year = String.valueOf(d_curr.getYear()+1900);
      String s_month = lpad(String.valueOf(d_curr.getMonth()+1),2,"0");
      String s_day = lpad(String.valueOf(d_curr.getDate()),2,"0");
      String s_hour = lpad(String.valueOf(d_curr.getHours()),2,"0");
      String s_min = lpad(String.valueOf(d_curr.getMinutes()),2,"0");
      String s_sec = lpad(String.valueOf(d_curr.getSeconds()),2,"0");
      String s_date=s_year+s_month+s_day;
      String ls_file_name;
      if(p_type == 0 && s_error_log.equals("1")){ //错误日志
        ls_file_name = s_error_prefix + s_date + ".log";
      }
      else if(p_type == 1 && s_login_log.equals("1")){//登录日志
        ls_file_name = s_login_prefix + s_date + ".log";
      }
      else if(p_type == 2 && s_sql_log.equals("1")){//执行SQL日志
        ls_file_name = s_sql_prefix + s_date + ".log";
      }
      else if(p_type == 3 && s_load_log.equals("1")){//数据导入日志
        ls_file_name = s_load_prefix + s_date + ".log";
      }
      else{
        return;
      }
      File file = new File(s_path, ls_file_name);
      if(file.exists()){
        BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
        do{
          String s_read = bufferedreader.readLine();
          if(s_read == null) break;
          s_write = s_write + s_read + "\n";
        } while(true);
        bufferedreader.close();
      }
      p_log = s_year + "." + s_month + "." + s_day + " "+ s_hour + ":" + s_min + ":" + s_sec + " " + p_log;
      BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter(file));
      bufferedwriter.write(s_write + p_log);
      bufferedwriter.flush();
      bufferedwriter.close();
    }catch(Exception exp){}
  }

  /**
   * @param p_log:记录的日志内容
   * @param p_type:日志类型:0错误日志,1系统访问日志,2执行SQL日志,3数据导入日志
   */
  public static void writelog(String p_log,int p_type){

    log(p_log,p_type);
  }

  /**
   * @exception:取配置文件路径
   * @return
   */
  public static String getConfigFile(){
    String s_config_file = PublicBean.class.getClassLoader().getResource("config.xml").toString();
    return s_config_file;
  }

  /**
   * @exception:在指定的字符串左边补充字符到指定的长度
   * @param pSource 原字符串
   * @param pLen 格式化长度
   * @param pChr 补充长度
   * @return String
   */
  public static String lpad(String pSource,int pLen,String pChr){
    int i_len = pSource.length();
    for(int i = 0;i < pLen - i_len;i ++){
      pSource = pChr + pSource;
    }
    return pSource;
  }

  /**
   * @exception:在指定的字符串右边补充字符到指定的长度
   * @param pSource 原字符串
   * @param pLen 格式化长度
   * @param pChr 补充长度
   * @return String
   */
  public static String rpad(String pSource,int pLen,String pChr){
    int i_len = pSource.length();
    for(int i = 0;i < pLen - i_len;i ++){
      pSource = pSource + pChr;
    }
    return pSource;
  }

  /**
   * @param p1 需要转化的字符串
   * @param p2 需要转化的子字符串
   * @param p3 替换字符串
   * @return String
   */
  public static String replace(String p1,String p2,String p3){
    return p1.trim().equals(p2.trim())?p3.trim():p1.trim();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -