mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
Added command line option 'date-format' to control how dates are printed to console (not to log)
By: Dinnerbone <dinnerbone@dinnerbone.com>
This commit is contained in:
parent
4908869924
commit
6940b583c4
2 changed files with 35 additions and 1 deletions
|
@ -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");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue