blob: 533842c6247437d4fccab0f828f44721e860abe5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
package net.minecraft.server;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.regex.Pattern; // CraftBukkit
class ConsoleLogFormatter extends Formatter {
private SimpleDateFormat b;
final ConsoleLogManager a;
// CraftBukkit start - Add color stripping
private Pattern pattern = Pattern.compile("\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})*)?[m|K]");
private boolean strip = false;
// CraftBukkit end
private ConsoleLogFormatter(ConsoleLogManager consolelogmanager) {
this.a = consolelogmanager;
this.b = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.strip = MinecraftServer.getServer().options.has("log-strip-color"); // CraftBukkit
}
public String format(LogRecord logrecord) {
StringBuilder stringbuilder = new StringBuilder();
stringbuilder.append(this.b.format(Long.valueOf(logrecord.getMillis())));
if (ConsoleLogManager.a(this.a) != null) {
stringbuilder.append(ConsoleLogManager.a(this.a));
}
stringbuilder.append(" [").append(logrecord.getLevel().getName()).append("] ");
stringbuilder.append(this.formatMessage(logrecord));
stringbuilder.append('\n');
Throwable throwable = logrecord.getThrown();
if (throwable != null) {
StringWriter stringwriter = new StringWriter();
throwable.printStackTrace(new PrintWriter(stringwriter));
stringbuilder.append(stringwriter.toString());
}
// CraftBukkit start - handle stripping color
if (this.strip) {
return this.pattern.matcher(stringbuilder.toString()).replaceAll("");
} else {
return stringbuilder.toString();
}
// CraftBukkit end
}
ConsoleLogFormatter(ConsoleLogManager consolelogmanager, EmptyClass3 emptyclass3) {
this(consolelogmanager);
}
}
|