1. 程式人生 > >JAVA記錄使用者操作日誌

JAVA記錄使用者操作日誌

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class LogInfo {
 private static String filepath = "C:\\log\\";
 private static Calendar c = Calendar.getInstance();
 private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 /**
  * 記錄日誌檔案
  * @param file
  * @param username
  * @param ip
  * @param dowhat
  */
 public static void saveLog(File file, String username,String ip,String dowhat){
  BufferedWriter bw = null;
  try {
   bw = new BufferedWriter(new OutputStreamWriter(
     new FileOutputStream(file, true)));
   bw.write("使用者 "+username+",ip為  "+ip+",進行了 "+dowhat+" 操作\n");
   bw.flush();
  } catch (FileNotFoundException e) {
   System.out.println("檔案未找到");
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally{
   if(null!=bw){
    try {
     bw.close();
    } catch (IOException e) {
     System.out.println("流操作異常");
    }
   }
  }
 }
 
 /**
  * 根據時間建立日誌檔案
  * @return
  */
 public static File createFile(){
  //每天建立一個日誌檔案,名稱為"2010-11-30.txt"
  File file = null;
  try {
   file = new File(filepath+sdf.format(c.getTime())+".txt");
   if(!file.exists()){
    file.createNewFile();
   }
  } catch (Exception e) {
   System.out.println("路徑不存在");
  }
  return file;
 }
 
 public static void main(String[] args) {
  File file = createFile();
  saveLog(file, "windforce", "192.168.0.1", "更改密碼");
 }
}