LogCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.debug
Файл: com/hypixel/hytale/server/core/command/commands/debug/LogCommand.java
extends: CommandBase
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
var2 |
|
|
var2 |
|
HytaleLoggerBackend |
var3 |
|
|
var3 |
|
|
var3 |
|
Level |
var4 |
|
boolean |
var5 |
|
|
var5 |
|
Map |
var6 |
|
Map |
var7 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Level |
parsepublic Level parse(@Nonnull String var1, @Nonnull ParseResult var2) |
abstract |
|
super super("log", "server.commands.log.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.debug;
class="kw">import com.hypixel.hytale.logger.backend.HytaleLoggerBackend;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.ParseResult;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.OptionalArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.SingleArgumentType;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Arrays;
class="kw">import java.util.Locale;
class="kw">import java.util.Map;
class="kw">import java.util.logging.Level;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;
class="kw">public class LogCommand class="kw">extends CommandBase {
@Nonnull
class="kw">private class="kw">static class="kw">final Level[] STANDARD_LEVELS = new Level[]{
Level.OFF, Level.SEVERE, Level.WARNING, Level.INFO, Level.CONFIG, Level.FINE, Level.FINER, Level.FINEST, Level.ALL
};
@Nonnull
class="kw">private class="kw">static class="kw">final String LEVELS_STRING = Arrays.stream(STANDARD_LEVELS).map(Level::getName).collect(Collectors.joining(", "));
@Nonnull
class="kw">private class="kw">static class="kw">final SingleArgumentType<Level> LOG_LEVEL = new SingleArgumentType<Level>(
"server.commands.parsing.argtype.logLevel.name",
Message.translation("server.commands.parsing.argtype.logLevel.usage").param("levels", LEVELS_STRING),
Arrays.stream(STANDARD_LEVELS).map(Level::getName).toArray(String[]::new)
) {
@Nonnull
class="kw">public Level parse(@Nonnull String var1, @Nonnull ParseResult var2) {
try {
class="kw">return Level.parse(var1.toUpperCase(Locale.ROOT));
} catch (IllegalArgumentException var4) {
var2.fail(Message.translation("server.commands.log.invalidLevel").param("input", var1).param("level", Level.INFO.getName()));
class="kw">return Level.INFO;
}
}
};
@Nonnull
class="kw">private class="kw">final RequiredArg<String> loggerArg = this.withRequiredArg("logger", "server.commands.log.logger.desc", ArgTypes.STRING);
@Nonnull
class="kw">private class="kw">final OptionalArg<Level> levelArg = this.withOptionalArg("level", "server.commands.log.level.desc", LOG_LEVEL);
@Nonnull
class="kw">private class="kw">final FlagArg saveFlag = this.withFlagArg("save", "server.commands.log.save.desc");
@Nonnull
class="kw">private class="kw">final FlagArg resetFlag = this.withFlagArg("reset", "server.commands.log.reset.desc");
class="kw">public LogCommand() {
super("log", "server.commands.log.desc");
}
@Override
class="kw">protected void executeSync(@Nonnull CommandContext var1) {
String var2 = this.loggerArg.get(var1);
HytaleLoggerBackend var3;
if (var2.equalsIgnoreCase("global")) {
var2 = "global";
var3 = HytaleLoggerBackend.getLogger();
} else {
var3 = HytaleLoggerBackend.getLogger(var2);
}
if (this.levelArg.provided(var1)) {
Level var4 = this.levelArg.get(var1);
var3.setLevel(var4);
boolean var5 = false;
if (this.saveFlag.get(var1)) {
Map var6 = new Object2ObjectOpenHashMap(HytaleServer.get().getConfig().getLogLevels());
var6.put(var3.getLoggerName(), var4);
HytaleServer.get().getConfig().setLogLevels(var6);
var5 = true;
}
var1.sendMessage(
Message.translation("server.commands.log.setLogger")
.param("name", var2)
.param("level", var4.getName())
.param("saved", var5 ? " and saved to config!!" : "")
);
} else {
if (this.resetFlag.get(var1)) {
Map var7 = new Object2ObjectOpenHashMap(HytaleServer.get().getConfig().getLogLevels());
var7.remove(var3.getLoggerName());
HytaleServer.get().getConfig().setLogLevels(var7);
var1.sendMessage(Message.translation("server.commands.log.removedLogger").param("name", var2));
}
var1.sendMessage(Message.translation("server.commands.log.setLoggerNoSave").param("name", var2).param("level", var3.getLevel().getName()));
}
}
}