hardened signature of logging methods

master
Stefan Dollase 2016-11-21 02:01:10 +01:00
parent 7001052031
commit ada76a3e4c
6 changed files with 50 additions and 83 deletions

View File

@ -3,8 +3,6 @@ package amidst.logging;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import amidst.documentation.ThreadSafe;
// TODO: switch to standard logging framework like slf4j + log4j?
@ -38,28 +36,28 @@ public class AmidstLogger {
}
}
public static void info(Object... messages) {
public static void info(String message) {
synchronized (LOG_LOCK) {
for (Logger listener : LOGGER.values()) {
listener.info(messages);
listener.info(message);
}
}
}
public static void debug(Object... messages) {
public static void debug(String message) {
if (IS_SHOWING_DEBUG) {
synchronized (LOG_LOCK) {
for (Logger listener : LOGGER.values()) {
listener.debug(messages);
listener.debug(message);
}
}
}
}
public static void warn(Object... messages) {
public static void warn(String message) {
synchronized (LOG_LOCK) {
for (Logger listener : LOGGER.values()) {
listener.warning(messages);
listener.warning(message);
}
}
}
@ -68,13 +66,13 @@ public class AmidstLogger {
warn(MessageFormatter.format(e));
}
public static void error(Object... messages) {
public static void error(String message) {
synchronized (LOG_LOCK) {
if (IS_USING_ALERTS) {
JOptionPane.showMessageDialog(null, messages, "Error", JOptionPane.ERROR_MESSAGE);
AmidstMessageBox.displayError("Error", message);
}
for (Logger listener : LOGGER.values()) {
listener.error(messages);
listener.error(message);
}
}
}

View File

@ -5,23 +5,23 @@ import amidst.documentation.NotThreadSafe;
@NotThreadSafe
public class ConsoleLogger implements Logger {
@Override
public void debug(Object... messages) {
printWithTag("debug", messages);
public void debug(String message) {
printWithTag("debug", message);
}
@Override
public void info(Object... messages) {
printWithTag("info", messages);
public void info(String message) {
printWithTag("info", message);
}
@Override
public void warning(Object... messages) {
printWithTag("warning", messages);
public void warning(String message) {
printWithTag("warning", message);
}
@Override
public void error(Object... messages) {
printWithTag("error", messages);
public void error(String message) {
printWithTag("error", message);
}
@Override
@ -32,19 +32,7 @@ public class ConsoleLogger implements Logger {
}
}
private void printWithTag(String tag, Object... messages) {
System.out.print("[" + tag + "] ");
for (int i = 0; i < messages.length; i++) {
System.out.print(messages[i]);
System.out.print(getMessageDelimiter(i, messages));
}
}
private String getMessageDelimiter(int i, Object... messages) {
if (i < messages.length - 1) {
return " ";
} else {
return "\n";
}
private void printWithTag(String tag, String message) {
System.out.println("[" + tag + "] " + message);
}
}

View File

@ -123,23 +123,23 @@ public class FileLogger implements Logger {
}
@Override
public void debug(Object... messages) {
write("debug", messages);
public void debug(String message) {
write("debug", message);
}
@Override
public void info(Object... messages) {
write("info", messages);
public void info(String message) {
write("info", message);
}
@Override
public void warning(Object... messages) {
write("warning", messages);
public void warning(String message) {
write("warning", message);
}
@Override
public void error(Object... messages) {
write("error", messages);
public void error(String message) {
write("error", message);
}
@Override
@ -150,22 +150,15 @@ public class FileLogger implements Logger {
}
}
private void write(String tag, Object... messages) {
private void write(String tag, String message) {
String currentTime = new Timestamp(new Date().getTime()).toString();
StringBuilder builder = new StringBuilder(currentTime);
builder.append(" [").append(tag).append("] ");
for (int i = 0; i < messages.length; i++) {
builder.append(messages[i]);
builder.append(getMessageDelimiter(i, messages));
}
StringBuilder builder = new StringBuilder()
.append(currentTime)
.append(" [")
.append(tag)
.append("] ")
.append(message)
.append("\r\n");
logMessageQueue.add(builder.toString());
}
private String getMessageDelimiter(int i, Object... messages) {
if (i < messages.length - 1) {
return " ";
} else {
return "\r\n";
}
}
}

View File

@ -7,23 +7,23 @@ public class InMemoryLogger implements Logger {
private StringBuffer buffer = new StringBuffer();
@Override
public void debug(Object... messages) {
write("debug", messages);
public void debug(String message) {
write("debug", message);
}
@Override
public void info(Object... messages) {
write("info", messages);
public void info(String message) {
write("info", message);
}
@Override
public void warning(Object... messages) {
write("warning", messages);
public void warning(String message) {
write("warning", message);
}
@Override
public void error(Object... messages) {
write("error", messages);
public void error(String message) {
write("error", message);
}
@Override
@ -34,20 +34,8 @@ public class InMemoryLogger implements Logger {
}
}
private void write(String tag, Object... messages) {
buffer.append("[").append(tag).append("] ");
for (int i = 0; i < messages.length; i++) {
buffer.append(messages[i]);
buffer.append(getMessageDelimiter(i, messages));
}
}
private String getMessageDelimiter(int i, Object... messages) {
if (i < messages.length - 1) {
return " ";
} else {
return "\n";
}
private void write(String tag, String message) {
buffer.append("[").append(tag).append("] ").append(message).append("\n");
}
public String getContents() {

View File

@ -1,13 +1,13 @@
package amidst.logging;
public interface Logger {
public void debug(Object... messages);
public void debug(String messages);
public void info(Object... messages);
public void info(String messages);
public void warning(Object... messages);
public void warning(String messages);
public void error(Object... messages);
public void error(String messages);
public void crash(Throwable e, String exceptionText, String message);
}

View File

@ -56,7 +56,7 @@ public class WorldFilterJson_MatchAll {
return Optional.of(createWorldFilter());
} else {
// TODO: use error messages
AmidstLogger.debug(getValidationMessages());
AmidstLogger.debug(getValidationMessages().toString());
return Optional.empty();
}
}