Files
MCCustomSkinLoader/Common/customskinloader/Logger.java
T

78 lines
1.8 KiB
Java
Raw Normal View History

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,"");
}
}