AuthMe/src/main/java/fr/xephi/authme/ConsoleLogger.java

62 lines
1.6 KiB
Java

package fr.xephi.authme;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Logger;
import com.google.common.base.Throwables;
import fr.xephi.authme.api.NewAPI;
import fr.xephi.authme.settings.Settings;
public class ConsoleLogger {
private static final DateFormat df = new SimpleDateFormat("[MM-dd HH:mm:ss]");
private static final Logger log = AuthMe.getInstance().getLogger();
public static void info(final String message) {
if (AuthMe.getInstance().isEnabled()) {
log.info(message);
if (Settings.useLogging) {
String dateTime;
synchronized (df) {
dateTime = df.format(new Date());
}
writeLog(dateTime + " " + message);
}
}
}
public static void showError(final String message) {
if (AuthMe.getInstance().isEnabled()) {
log.warning(message);
if (Settings.useLogging) {
String dateTime;
synchronized (df) {
dateTime = df.format(new Date());
}
writeLog(dateTime + " ERROR: " + message);
}
}
}
public static void writeLog(final String message) {
try {
Files.write(Settings.LOG_FILE.toPath(), (message + NewAPI.newline).getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE);
} catch (final IOException ignored) {
}
}
public static void writeStackTrace(final Exception ex) {
String dateTime;
synchronized (df) {
dateTime = df.format(new Date());
}
writeLog(dateTime + " " + Throwables.getStackTraceAsString(ex));
}
}