summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-02-26 11:29:37 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2011-02-26 11:29:37 +0000
commit07b86b12306f0cb6c6002862665e8a601636d72e (patch)
treee03d6785345657d0863b50e000d90b12ec42e543 /src/main
parentbb8d9fbe9d34e6bf26e84b1f96dfa5a3c0a1eb3c (diff)
downloadcraftbukkit-07b86b12306f0cb6c6002862665e8a601636d72e.tar
craftbukkit-07b86b12306f0cb6c6002862665e8a601636d72e.tar.gz
craftbukkit-07b86b12306f0cb6c6002862665e8a601636d72e.tar.lz
craftbukkit-07b86b12306f0cb6c6002862665e8a601636d72e.tar.xz
craftbukkit-07b86b12306f0cb6c6002862665e8a601636d72e.zip
Added command line option 'date-format' to control how dates are printed to console (not to log)
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/minecraft/server/ConsoleLogManager.java7
-rw-r--r--src/main/java/net/minecraft/server/MinecraftServer.java2
-rw-r--r--src/main/java/org/bukkit/craftbukkit/Main.java8
-rw-r--r--src/main/java/org/bukkit/craftbukkit/util/ShortConsoleLogFormatter.java28
4 files changed, 40 insertions, 5 deletions
diff --git a/src/main/java/net/minecraft/server/ConsoleLogManager.java b/src/main/java/net/minecraft/server/ConsoleLogManager.java
index 641c8ca7..53308077 100644
--- a/src/main/java/net/minecraft/server/ConsoleLogManager.java
+++ b/src/main/java/net/minecraft/server/ConsoleLogManager.java
@@ -1,5 +1,6 @@
package net.minecraft.server;
+import java.text.SimpleDateFormat;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
@@ -18,11 +19,11 @@ public class ConsoleLogManager {
public ConsoleLogManager() {}
// Craftbukkit - change of method signature!
- public static void a(ConsoleReader reader) {
+ public static void a(MinecraftServer server) {
ConsoleLogFormatter consolelogformatter = new ConsoleLogFormatter();
a.setUseParentHandlers(false);
- ConsoleHandler consolehandler = new TerminalConsoleHandler(reader);
+ ConsoleHandler consolehandler = new TerminalConsoleHandler(server.reader); // Craftbukkit
// CraftBukkit start
for (Handler handler: global.getHandlers()) {
@@ -30,7 +31,7 @@ public class ConsoleLogManager {
}
// CraftBukkit end
- consolehandler.setFormatter(new ShortConsoleLogFormatter()); // Craftbukkit
+ consolehandler.setFormatter(new ShortConsoleLogFormatter(server)); // Craftbukkit
a.addHandler(consolehandler);
global.addHandler(consolehandler); // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b9e6ff0b..8127ac03 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -75,7 +75,7 @@ public class MinecraftServer implements Runnable, ICommandListener {
threadcommandreader.setDaemon(true);
threadcommandreader.start();
- ConsoleLogManager.a(reader); // Craftbukkit
+ ConsoleLogManager.a(this); // Craftbukkit
// CraftBukkit start
System.setOut(new PrintStream(new LoggerOutputStream(a, Level.INFO), true));
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 2d75096f..7522fbfc 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -2,6 +2,9 @@ package org.bukkit.craftbukkit;
import java.io.File;
import java.io.IOException;
+import java.text.DateFormat;
+import java.text.Format;
+import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
@@ -53,6 +56,11 @@ public class Main {
.withRequiredArg()
.ofType(Integer.class)
.describedAs("Server size");
+
+ acceptsAll(asList("d", "date-format"), "Format of the date to display in the console (for log entries)")
+ .withRequiredArg()
+ .ofType(SimpleDateFormat.class)
+ .describedAs("Log date format");
}
};
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ShortConsoleLogFormatter.java b/src/main/java/org/bukkit/craftbukkit/util/ShortConsoleLogFormatter.java
index ad4419f9..404cf32d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/ShortConsoleLogFormatter.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/ShortConsoleLogFormatter.java
@@ -5,9 +5,35 @@ import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
+import joptsimple.OptionException;
+import joptsimple.OptionSet;
+import net.minecraft.server.MinecraftServer;
public class ShortConsoleLogFormatter extends Formatter {
- private final SimpleDateFormat date = new SimpleDateFormat("HH:mm:ss");
+ private final SimpleDateFormat date;
+
+ public ShortConsoleLogFormatter(MinecraftServer server) {
+ OptionSet options = server.options;
+ SimpleDateFormat date = null;
+
+ if (options.has("date-format")) {
+ try {
+ Object object = options.valueOf("date-format");
+
+ if ((object != null) && (object instanceof SimpleDateFormat)) {
+ date = (SimpleDateFormat)object;
+ }
+ } catch (OptionException ex) {
+ System.err.println("Given date format is not valid. Falling back to default.");
+ } finally {
+ if (date == null) {
+ date = new SimpleDateFormat("HH:mm:ss");
+ }
+ }
+ }
+
+ this.date = date;
+ }
@Override
public String format(LogRecord record) {