直接上代码:
package com.inspur.log;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Calendar;
public class WriteLog {
private static WriteLog instance = null;
private WriteLog(){};
public static WriteLog getInstance() {
if( instance == null ) {
instance = new WriteLog();
}
return instance;
}
public void logger(String fileNameHead,String logString) {
try {
String logFilePathName=null;
Calendar cd = Calendar.getInstance();//日志文件时间
int year=cd.get(Calendar.YEAR);
String month=addZero(cd.get(Calendar.MONTH)+1);
String day=addZero(cd.get(Calendar.DAY_OF_MONTH));
String hour=addZero(cd.get(Calendar.HOUR_OF_DAY));
String min=addZero(cd.get(Calendar.MINUTE));
String sec=addZero(cd.get(Calendar.SECOND));
File fileParentDir=new File("./log");<span style="font-family: Arial, Helvetica, sans-serif;">//判断log目录是否存在
</span> if (!fileParentDir.exists()) {
fileParentDir.mkdir();
}
if (fileNameHead==null||fileNameHead.equals("")) {
logFilePathName="./log/"+year+month+day+hour+".log";//日志文件名
}else {
logFilePathName="./log/"+fileNameHead+year+month+day+hour+".log";//日志文件名
}
PrintWriter printWriter=new PrintWriter(new FileOutputStream(logFilePathName, true));
String time="["+year+month+day+"-"+hour+":"+min+":"+sec+"] ";
printWriter.println(time+logString);
printWriter.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.getMessage();
}
}
/**整数小于10前面补0
* @param i
* @return
*/
public static String addZero(int i) {
if (i<10) {
String tmpString="0"+i;
return tmpString;
}
else {
return String.valueOf(i);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
WriteLog log = null;
log.getInstance().logger("test", "hello world, t02,test");
}
}