Files
KittyBot/src/utils/GlobalLog.java
T
2019-06-30 01:12:09 -07:00

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