2017-01-09 20:37:57 +01:00
|
|
|
package net.ME1312.SubServers.Bungee.Host;
|
|
|
|
|
2017-01-11 23:07:03 +01:00
|
|
|
import net.ME1312.SubServers.Bungee.Library.NamedContainer;
|
|
|
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.logging.Level;
|
|
|
|
|
2017-01-09 20:37:57 +01:00
|
|
|
/**
|
|
|
|
* SubLogger Layout Class
|
|
|
|
*/
|
|
|
|
public abstract class SubLogger {
|
2017-01-11 23:07:03 +01:00
|
|
|
/**
|
|
|
|
* Log Message Storage Class
|
|
|
|
*/
|
|
|
|
public static class LogMessage {
|
|
|
|
private Date date;
|
|
|
|
private Level level;
|
|
|
|
private String message;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Store a Message
|
|
|
|
*
|
|
|
|
* @param message Message
|
|
|
|
*/
|
|
|
|
public LogMessage(String message) {
|
|
|
|
this.date = Calendar.getInstance().getTime();
|
|
|
|
this.level = Level.INFO;
|
|
|
|
this.message = message;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Store a Message
|
|
|
|
*
|
|
|
|
* @param level Log Level
|
|
|
|
* @param message Message
|
|
|
|
*/
|
|
|
|
public LogMessage(Level level, String message) {
|
|
|
|
this.date = Calendar.getInstance().getTime();
|
|
|
|
this.level = level;
|
|
|
|
this.message = message;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Store a Message
|
|
|
|
*
|
|
|
|
* @param date Date
|
|
|
|
* @param level Log Level
|
|
|
|
* @param message Message
|
|
|
|
*/
|
|
|
|
public LogMessage(Date date, Level level, String message) {
|
|
|
|
this.date = date;
|
|
|
|
this.level = level;
|
|
|
|
this.message = message;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the date this message was logged
|
|
|
|
*
|
|
|
|
* @return Date
|
|
|
|
*/
|
|
|
|
public Date getDate() {
|
|
|
|
return date;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the level this message was logged on
|
|
|
|
*
|
|
|
|
* @return Log Level
|
|
|
|
*/
|
|
|
|
public Level getLevel() {
|
|
|
|
return level;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the message
|
|
|
|
*
|
|
|
|
* @return Message
|
|
|
|
*/
|
|
|
|
public String getMessage() {
|
|
|
|
return message;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-01-09 20:37:57 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the Name of the task logging
|
|
|
|
*
|
|
|
|
* @return Log Task Name
|
|
|
|
*/
|
|
|
|
public abstract String getName();
|
|
|
|
|
2017-01-11 04:23:29 +01:00
|
|
|
/**
|
|
|
|
* Gets the Object using this Logger
|
|
|
|
*
|
|
|
|
* @return Object
|
|
|
|
*/
|
2017-01-11 23:07:03 +01:00
|
|
|
public abstract Object getHandler();
|
2017-01-11 04:23:29 +01:00
|
|
|
|
2017-01-09 20:37:57 +01:00
|
|
|
/**
|
|
|
|
* Start Logger
|
|
|
|
*/
|
|
|
|
public abstract void start();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Stop Logger
|
|
|
|
*/
|
|
|
|
public abstract void stop();
|
|
|
|
|
2017-01-11 23:07:03 +01:00
|
|
|
/**
|
|
|
|
* Get if the Logger is currently logging
|
|
|
|
*
|
|
|
|
* @return Logging Status
|
|
|
|
*/
|
2017-01-09 20:37:57 +01:00
|
|
|
public abstract boolean isLogging();
|
|
|
|
|
2017-01-11 23:07:03 +01:00
|
|
|
/**
|
|
|
|
* Gets a list of all the messages logged by this logger
|
|
|
|
*
|
|
|
|
* @return Log Messages (named by log level)
|
|
|
|
*/
|
2017-01-21 17:49:37 +01:00
|
|
|
public abstract List<LogMessage> getMessageHistory();
|
2017-01-11 23:07:03 +01:00
|
|
|
|
2017-01-09 20:37:57 +01:00
|
|
|
/**
|
|
|
|
* Register Filter
|
|
|
|
*
|
|
|
|
* @param filter Filter
|
|
|
|
*/
|
|
|
|
public abstract void registerFilter(SubLogFilter filter);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Unregister Filter
|
|
|
|
*
|
|
|
|
* @param filter Filter
|
|
|
|
*/
|
|
|
|
public abstract void unregisterFilter(SubLogFilter filter);
|
|
|
|
}
|