50 lines
1.9 KiB
Java
50 lines
1.9 KiB
Java
package utils;
|
|
|
|
import java.io.FileNotFoundException;
|
|
import java.io.PrintWriter;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.text.DateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
|
|
import utils.io.FileUtils;
|
|
|
|
public class GlobalLog
|
|
{
|
|
private static final String directory = "logs/";
|
|
private static final String log = "Log";
|
|
private static final String warn = "Warning";
|
|
private static final String error = "ERROR";
|
|
private static final String fatal = "FATAL";
|
|
private static PrintWriter outputLog;
|
|
|
|
public static void initialize() throws FileNotFoundException, UnsupportedEncodingException
|
|
{
|
|
DateFormat dF = new SimpleDateFormat("yyyy_MM_dd_HH-mm");
|
|
Date today = new Date();
|
|
|
|
FileUtils.createDirectoryIfDoesntExist(directory);
|
|
outputLog = new PrintWriter(directory + (dF.format(today) + ".log"), "UTF-8");
|
|
GlobalLog.log(LogFilter.Util, "Finished initializing logging system");
|
|
}
|
|
|
|
private static void write(String status, LogFilter filter, String body)
|
|
{
|
|
String logLine = "[" + status + "] " + "[" + filter.name() + "] " + body;
|
|
outputLog.write(logLine + "\n");
|
|
outputLog.flush();
|
|
System.out.println(logLine);
|
|
}
|
|
|
|
public static void log(LogFilter filter, String msg) { write(log, filter, msg); }
|
|
public static void warn(LogFilter filter, String msg) { write(warn, filter, msg); }
|
|
public static void error(LogFilter filter, String msg) { write(error, filter, msg); System.err.println(msg); System.err.flush(); }
|
|
public static void fatal(LogFilter filter, String msg) throws Exception { write(fatal, filter, msg); throw new Exception(msg); }
|
|
|
|
public static void log(String msg) { log(LogFilter.Debug, msg); }
|
|
public static void warn(String msg) { warn(LogFilter.Debug, msg); }
|
|
public static void error(String msg) { error(LogFilter.Debug, msg); }
|
|
public static void fatal(String msg) throws Exception { fatal(LogFilter.Debug, msg); }
|
|
|
|
}
|