2016-02-27 15:22:35 +08:00
|
|
|
package customskinloader;
|
2015-06-05 22:47:45 +08:00
|
|
|
|
|
|
|
|
import java.io.BufferedWriter;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
|
import java.io.OutputStreamWriter;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.logging.Level;
|
|
|
|
|
|
2016-02-27 15:22:35 +08:00
|
|
|
public class Logger {
|
2015-06-05 22:47:45 +08:00
|
|
|
private static final int LOWEST_DISPLAY_LEVEL=Level.INFO.intValue();
|
2015-06-07 09:01:48 +08:00
|
|
|
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
2016-05-02 01:01:18 +08:00
|
|
|
private BufferedWriter writer=null;
|
|
|
|
|
public Logger(){
|
|
|
|
|
//Logger isn't created.
|
|
|
|
|
}
|
2016-02-27 15:22:35 +08:00
|
|
|
public Logger(File logFile){
|
2015-06-05 22:47:45 +08:00
|
|
|
try {
|
|
|
|
|
if(!logFile.getParentFile().exists()){
|
|
|
|
|
logFile.getParentFile().mkdirs();
|
|
|
|
|
}
|
|
|
|
|
if(!logFile.exists())
|
|
|
|
|
logFile.createNewFile();
|
|
|
|
|
|
|
|
|
|
writer = new BufferedWriter(new OutputStreamWriter(
|
|
|
|
|
new FileOutputStream(logFile), "UTF-8"));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public void close(){
|
|
|
|
|
if(writer!=null){
|
|
|
|
|
try {
|
|
|
|
|
writer.close();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void log(Level level,String msg){
|
|
|
|
|
if(level.intValue()>=LOWEST_DISPLAY_LEVEL)
|
|
|
|
|
System.out.println(msg);
|
2016-05-02 01:01:18 +08:00
|
|
|
if(writer==null)
|
|
|
|
|
return;
|
2015-06-05 22:47:45 +08:00
|
|
|
try {
|
2016-04-03 01:14:33 +08:00
|
|
|
StringBuilder sb=new StringBuilder();
|
|
|
|
|
sb.append("[");
|
|
|
|
|
sb.append(DATE_FORMAT.format(new Date()));
|
|
|
|
|
sb.append(" ");
|
|
|
|
|
sb.append(Thread.currentThread().getName());
|
|
|
|
|
sb.append(" ");
|
|
|
|
|
sb.append(level.getName());
|
|
|
|
|
sb.append("] ");
|
|
|
|
|
sb.append(msg);
|
|
|
|
|
sb.append("\r\n");
|
|
|
|
|
writer.write(sb.toString());
|
2015-06-05 22:47:45 +08:00
|
|
|
writer.flush();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public void info(String msg){
|
|
|
|
|
log(Level.INFO,msg);
|
|
|
|
|
}
|
|
|
|
|
public void warning(String msg){
|
|
|
|
|
log(Level.WARNING,msg);
|
|
|
|
|
}
|
2015-06-07 09:01:48 +08:00
|
|
|
public void warning(Exception e){
|
2016-02-27 15:22:35 +08:00
|
|
|
log(Level.WARNING,"Exception: "+e.getMessage());
|
2015-06-05 22:47:45 +08:00
|
|
|
StackTraceElement[] stes=e.getStackTrace();
|
|
|
|
|
for(StackTraceElement ste : stes){
|
|
|
|
|
log(Level.WARNING,ste.toString());
|
|
|
|
|
}
|
|
|
|
|
log(Level.WARNING,"");
|
|
|
|
|
}
|
|
|
|
|
}
|