📄 publicbean.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 + -