package com.Acrobot.ChestShop.Logging;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;

/**
 * @author Acrobot
 */
public class FileFormatter extends Formatter {
    private final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

    @Override
    public String format(LogRecord record) {
        return getDateAndTime() + ' ' + record.getMessage() + '\n';
    }

    private String getDateAndTime() {
        Date date = new Date();

        return dateFormat.format(date);
    }
}

@@ -33,16 +33,73 @@
 gging;%0A%0A
+import java.io.PrintWriter;%0Aimport java.io.StringWriter;%0A
 import j
@@ -111,32 +111,32 @@
 ext.DateFormat;%0A
-
 import java.text
@@ -209,24 +209,56 @@
 .Formatter;%0A
+import java.util.logging.Level;%0A
 import java.
@@ -515,66 +515,608 @@
     
-return getDateAndTime() + ' ' + record.getMessage() + '%5Cn'
+StringBuilder message = new StringBuilder(getDateAndTime());%0A%0A        if (record.getLevel() != Level.INFO) %7B%0A            message.append(' ').append(record.getLevel().getLocalizedName());%0A        %7D%0A%0A        message.append(' ').append(record.getMessage());%0A%0A        if (record.getThrown() != null) %7B%0A            StringWriter sw = new StringWriter();%0A            PrintWriter pw = new PrintWriter(sw);%0A            pw.println();%0A            record.getThrown().printStackTrace(pw);%0A            pw.close();%0A            message.append(sw.toString());%0A        %7D%0A%0A        return message.append('%5Cn').toString()
 ;%0A  

Include log level (if not INFO) and error stack trace in log file