package
com.sanxia.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.File;
import java.io.IOException;
import java.io.FileWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class Infolog extends HttpServlet {
private static final long serialVersionUID = 1L;
private static String appDir;
private static FileWriter bw;
private static String folder;
private static String sysPath;
public void init() throws ServletException {
super.init();
appDir = getServletContext().getRealPath("/");
folder = getInitParameter("logFolder");
if(folder==null ||folder.equals(""))
folder = "syslogs";
System.out.println("----- Infolog initiated
sucessfully-----");
}
public static void setSysPath(String SysPath){sysPath =
SysPath;}
public static String getSysPath(){ return sysPath;}
public static String getLogFolder(){ return folder;}
public static String getAppDir(){return appDir;}
public static void info(String str) {
try{str = str + " # "+new Date();
System.out.println("Logging: " + str);
String logName = new SimpleDateFormat("yyyy-MM-dd").format(new
Date());
File logFile = new File(appDir + folder +"/" + logName +
".log");
File logFolder = new File(appDir + folder);
if (!logFolder.exists()) logFolder.mkdir();
if (!logFile.exists()) logFile.createNewFile();//
bw = new FileWriter(logFile, true);
bw.append(str + System.getProperty("line.separator"));
bw.close();
} catch (IOException e){
e.printStackTrace();
System.out.println("info(String str) fail");
}}
public static boolean clearLogs() {
try{String logName = new SimpleDateFormat("yyyy-MM-dd").format(new
Date());
File logFile;int i;File[] fileList;
File logFolder = new File(appDir + folder);
if (!logFolder.exists())return false;
for (i = 0, fileList = logFolder.listFiles(); i <
fileList.length; i++){
logFile = fileList[i];
if (logFile.exists() &&
logFile.isFile()&&
!logFile.getName().equals(logName + ".log")){
logFile.setExecutable(true);logFile.delete();
// logfile might not be deleted physically
}} return true;
} catch (Exception e){
return false;
}}
public static boolean delLog(String logName) {
try{File logFile = new File(appDir + folder + "/" +logName);boolean
is = false;
if(logFile.isFile()){logFile.setExecutable(true);
is = logFile.delete(); // log file might not be deleted
completely
}if(is)return true; return false;
} catch (Exception e){
return false;
}}
}