simplified the Logger interface
parent
38f367327d
commit
da8c8e3913
|
@ -8,6 +8,12 @@ import amidst.documentation.ThreadSafe;
|
|||
// TODO: switch to standard logging framework like slf4j + log4j?
|
||||
@ThreadSafe
|
||||
public class AmidstLogger {
|
||||
private static final String DEBUG_TAG = "debug";
|
||||
private static final String INFO_TAG = "info";
|
||||
private static final String WARNING_TAG = "warning";
|
||||
private static final String ERROR_TAG = "error";
|
||||
private static final String CRASH_TAG = "crash";
|
||||
|
||||
private static final ConsoleLogger CONSOLE_LOGGER = new ConsoleLogger();
|
||||
private static final InMemoryLogger IN_MEMORY_LOGGER = new InMemoryLogger();
|
||||
|
||||
|
@ -36,28 +42,28 @@ public class AmidstLogger {
|
|||
}
|
||||
}
|
||||
|
||||
public static void info(String message) {
|
||||
synchronized (LOG_LOCK) {
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.info(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void debug(String message) {
|
||||
if (IS_SHOWING_DEBUG) {
|
||||
synchronized (LOG_LOCK) {
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.debug(message);
|
||||
listener.log(DEBUG_TAG, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void info(String message) {
|
||||
synchronized (LOG_LOCK) {
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.log(INFO_TAG, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void warn(String message) {
|
||||
synchronized (LOG_LOCK) {
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.warning(message);
|
||||
listener.log(WARNING_TAG, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +78,7 @@ public class AmidstLogger {
|
|||
AmidstMessageBox.displayError("Error", message);
|
||||
}
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.error(message);
|
||||
listener.log(ERROR_TAG, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -81,9 +87,9 @@ public class AmidstLogger {
|
|||
synchronized (LOG_LOCK) {
|
||||
String exceptionText = MessageFormatter.format(e);
|
||||
for (Logger listener : LOGGER.values()) {
|
||||
listener.crash(message);
|
||||
listener.log(CRASH_TAG, message);
|
||||
if (e != null) {
|
||||
listener.crash(exceptionText);
|
||||
listener.log(CRASH_TAG, exceptionText);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,31 +5,7 @@ import amidst.documentation.NotThreadSafe;
|
|||
@NotThreadSafe
|
||||
public class ConsoleLogger implements Logger {
|
||||
@Override
|
||||
public void debug(String message) {
|
||||
printWithTag("debug", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void info(String message) {
|
||||
printWithTag("info", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void warning(String message) {
|
||||
printWithTag("warning", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(String message) {
|
||||
printWithTag("error", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void crash(String message) {
|
||||
printWithTag("crash", message);
|
||||
}
|
||||
|
||||
private void printWithTag(String tag, String message) {
|
||||
public void log(String tag, String message) {
|
||||
System.out.println("[" + tag + "] " + message);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public class FileLogger implements Logger {
|
|||
|
||||
@CalledOnlyBy(AmidstThread.STARTUP)
|
||||
private void writeWelcomeMessageToFile() {
|
||||
write("log", "New FileLogger started.");
|
||||
log("log", "New FileLogger started.");
|
||||
}
|
||||
|
||||
@CalledOnlyBy(AmidstThread.STARTUP)
|
||||
|
@ -123,31 +123,7 @@ public class FileLogger implements Logger {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void debug(String message) {
|
||||
write("debug", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void info(String message) {
|
||||
write("info", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void warning(String message) {
|
||||
write("warning", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(String message) {
|
||||
write("error", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void crash(String message) {
|
||||
write("crash", message);
|
||||
}
|
||||
|
||||
private void write(String tag, String message) {
|
||||
public void log(String tag, String message) {
|
||||
String currentTime = new Timestamp(new Date().getTime()).toString();
|
||||
StringBuilder builder = new StringBuilder()
|
||||
.append(currentTime)
|
||||
|
|
|
@ -7,31 +7,7 @@ public class InMemoryLogger implements Logger {
|
|||
private StringBuffer buffer = new StringBuffer();
|
||||
|
||||
@Override
|
||||
public void debug(String message) {
|
||||
write("debug", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void info(String message) {
|
||||
write("info", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void warning(String message) {
|
||||
write("warning", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void error(String message) {
|
||||
write("error", message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void crash(String message) {
|
||||
write("crash", message);
|
||||
}
|
||||
|
||||
private void write(String tag, String message) {
|
||||
public void log(String tag, String message) {
|
||||
buffer.append("[").append(tag).append("] ").append(message).append("\n");
|
||||
}
|
||||
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
package amidst.logging;
|
||||
|
||||
public interface Logger {
|
||||
public void debug(String messages);
|
||||
|
||||
public void info(String messages);
|
||||
|
||||
public void warning(String messages);
|
||||
|
||||
public void error(String messages);
|
||||
|
||||
public void crash(String message);
|
||||
void log(String tag, String message);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue