diff --git a/src/main/java/emu/grasscutter/Grasscutter.java b/src/main/java/emu/grasscutter/Grasscutter.java index 8c3248dd7..7717871b1 100644 --- a/src/main/java/emu/grasscutter/Grasscutter.java +++ b/src/main/java/emu/grasscutter/Grasscutter.java @@ -312,7 +312,7 @@ public final class Grasscutter { public static void updateDayOfWeek() { Calendar calendar = Calendar.getInstance(); Grasscutter.currentDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); - logger.debug("Set day of week to " + currentDayOfWeek); + logger.debug("Set day of week to {}", currentDayOfWeek); } public static void startConsole() { diff --git a/src/main/java/emu/grasscutter/command/CommandMap.java b/src/main/java/emu/grasscutter/command/CommandMap.java index d452cc6ba..1947cab8e 100644 --- a/src/main/java/emu/grasscutter/command/CommandMap.java +++ b/src/main/java/emu/grasscutter/command/CommandMap.java @@ -53,7 +53,7 @@ public final class CommandMap { * @return Instance chaining. */ public CommandMap registerCommand(String label, CommandHandler command) { - Grasscutter.getLogger().trace("Registered command: " + label); + Grasscutter.getLogger().trace("Registered command: {}", label); label = label.toLowerCase(); // Get command data. @@ -76,7 +76,7 @@ public final class CommandMap { * @return Instance chaining. */ public CommandMap unregisterCommand(String label) { - Grasscutter.getLogger().trace("Un-registered command: " + label); + Grasscutter.getLogger().trace("Un-registered command: {}", label); CommandHandler handler = this.commands.get(label); if (handler == null) return this; @@ -230,15 +230,9 @@ public final class CommandMap { if (SERVER.logCommands) { if (player != null) { Grasscutter.getLogger() - .info( - "Command used by [" - + player.getAccount().getUsername() - + " (Player UID: " - + player.getUid() - + ")]: " - + rawMessage); + .info("Command used by [{} (Player UID: {})]: {}", player.getAccount().getUsername(), player.getUid(), rawMessage); } else { - Grasscutter.getLogger().info("Command used by server console: " + rawMessage); + Grasscutter.getLogger().info("Command used by server console: {}", rawMessage); } } @@ -350,12 +344,10 @@ public final class CommandMap { this.registerCommand(cmdData.label(), (CommandHandler) object); else Grasscutter.getLogger() - .error("Class " + annotated.getName() + " is not a CommandHandler!"); + .error("Class {} is not a CommandHandler!", annotated.getName()); } catch (Exception exception) { Grasscutter.getLogger() - .error( - "Failed to register command handler for " + annotated.getSimpleName(), - exception); + .error("Failed to register command handler for {}", annotated.getSimpleName(), exception); } }); } diff --git a/src/main/java/emu/grasscutter/data/DataLoader.java b/src/main/java/emu/grasscutter/data/DataLoader.java index 0b205181f..0d19c11f0 100644 --- a/src/main/java/emu/grasscutter/data/DataLoader.java +++ b/src/main/java/emu/grasscutter/data/DataLoader.java @@ -88,7 +88,7 @@ public class DataLoader { public static List loadTableToList(String resourcePath, Class classType) throws IOException { val path = FileUtils.getDataPathTsjJsonTsv(resourcePath); - Grasscutter.getLogger().trace("Loading data table from: " + path); + Grasscutter.getLogger().trace("Loading data table from: {}", path); return switch (FileUtils.getFileExtension(path)) { case "json" -> JsonUtils.loadToList(path, classType); case "tsj" -> TsvUtils.loadTsjToListSetField(path, classType); @@ -119,9 +119,9 @@ public class DataLoader { if (!Files.exists(filePath)) { var root = filePath.getParent(); - if (root.toFile().mkdirs()) Grasscutter.getLogger().info("Created data folder '" + root + "'"); + if (root.toFile().mkdirs()) Grasscutter.getLogger().info("Created data folder '{}'", root); - Grasscutter.getLogger().debug("Creating default '" + name + "' data"); + Grasscutter.getLogger().debug("Creating default '{}' data", name); FileUtils.copyResource("/defaults/data/" + name, filePath.toString()); } } diff --git a/src/main/java/emu/grasscutter/data/GameData.java b/src/main/java/emu/grasscutter/data/GameData.java index c2ba581f9..be1d2a25e 100644 --- a/src/main/java/emu/grasscutter/data/GameData.java +++ b/src/main/java/emu/grasscutter/data/GameData.java @@ -655,7 +655,7 @@ public final class GameData { field.setAccessible(false); } catch (Exception e) { Grasscutter.getLogger() - .error("Error fetching resource map for " + resourceDefinition.getSimpleName(), e); + .error("Error fetching resource map for {}", resourceDefinition.getSimpleName(), e); } return map; diff --git a/src/main/java/emu/grasscutter/data/ResourceLoader.java b/src/main/java/emu/grasscutter/data/ResourceLoader.java index 13be4c4a2..d7e7df051 100644 --- a/src/main/java/emu/grasscutter/data/ResourceLoader.java +++ b/src/main/java/emu/grasscutter/data/ResourceLoader.java @@ -63,7 +63,7 @@ public final class ResourceLoader { private static List>> getResourceDefClassesPrioritySets() { val classes = Grasscutter.reflector.getSubTypesOf(GameResource.class); val priorities = ResourceType.LoadPriority.getInOrder(); - Grasscutter.getLogger().debug("Priorities are " + priorities); + Grasscutter.getLogger().debug("Priorities are {}", priorities); val map = new LinkedHashMap>>(priorities.size()); priorities.forEach(p -> map.put(p, new HashSet<>())); @@ -159,11 +159,11 @@ public final class ResourceLoader { })); errors.forEach( pair -> - Grasscutter.getLogger() - .error("Error loading resource file: " + pair.left(), pair.right())); + Grasscutter.getLogger() + .error("Error loading resource file: {}", pair.left(), pair.right())); long endTime = System.nanoTime(); long ns = (endTime - startTime); // divide by 1000000 to get milliseconds. - Grasscutter.getLogger().debug("Loading resources took " + ns + "ns == " + ns / 1000000 + "ms"); + Grasscutter.getLogger().debug("Loading resources took {}ns == {}ms", ns, ns / 1000000); } @SuppressWarnings("rawtypes") @@ -281,7 +281,7 @@ public final class ResourceLoader { } }); Grasscutter.getLogger() - .debug("Loaded " + GameData.getSceneNpcBornData().size() + " SceneRouteDatas."); + .debug("Loaded {} SceneRouteDatas.", GameData.getSceneNpcBornData().size()); } catch (IOException e) { Grasscutter.getLogger().error("Failed to load SceneRouteData folder."); } @@ -402,7 +402,7 @@ public final class ResourceLoader { .forEach(data -> loadAbilityData(data.Default)); } catch (IOException e) { Grasscutter.getLogger() - .error("Error loading ability modifiers from path " + path.toString() + ": ", e); + .error("Error loading ability modifiers from path {}: ", path.toString(), e); } } @@ -464,7 +464,7 @@ public final class ResourceLoader { path, String.class, new TypeToken>() {}.getType())); } catch (IOException e) { Grasscutter.getLogger() - .error("Error loading ability modifiers from path " + path.toString() + ": ", e); + .error("Error loading ability modifiers from path {}: ", path.toString(), e); } } @@ -531,7 +531,7 @@ public final class ResourceLoader { }); } catch (IOException e) { Grasscutter.getLogger() - .error("Error loading open config: no files found in " + folderName); + .error("Error loading open config: no files found in {}", folderName); return; } } @@ -587,7 +587,7 @@ public final class ResourceLoader { } Grasscutter.getLogger() - .debug("Loaded " + GameData.getMainQuestDataMap().size() + " MainQuestDatas."); + .debug("Loaded {} MainQuestDatas.", GameData.getMainQuestDataMap().size()); } public static void loadScriptSceneData() { @@ -605,7 +605,7 @@ public final class ResourceLoader { } }); Grasscutter.getLogger() - .debug("Loaded " + GameData.getScriptSceneDataMap().size() + " ScriptSceneDatas."); + .debug("Loaded {} ScriptSceneDatas.", GameData.getScriptSceneDataMap().size()); } catch (IOException e) { Grasscutter.getLogger().debug("ScriptSceneData folder missing or empty."); } @@ -629,10 +629,7 @@ public final class ResourceLoader { } }); Grasscutter.getLogger() - .debug( - "Loaded " - + GameData.getHomeworldDefaultSaveData().size() - + " HomeworldDefaultSaveDatas."); + .debug("Loaded {} HomeworldDefaultSaveDatas.", GameData.getHomeworldDefaultSaveData().size()); } catch (IOException e) { Grasscutter.getLogger().error("Failed to load HomeworldDefaultSave folder."); } @@ -657,7 +654,7 @@ public final class ResourceLoader { } }); Grasscutter.getLogger() - .debug("Loaded " + GameData.getSceneNpcBornData().size() + " SceneNpcBornDatas."); + .debug("Loaded {} SceneNpcBornDatas.", GameData.getSceneNpcBornData().size()); } catch (IOException e) { Grasscutter.getLogger().error("Failed to load SceneNpcBorn folder."); } diff --git a/src/main/java/emu/grasscutter/database/DatabaseHelper.java b/src/main/java/emu/grasscutter/database/DatabaseHelper.java index fffc6ab73..d1b149adc 100644 --- a/src/main/java/emu/grasscutter/database/DatabaseHelper.java +++ b/src/main/java/emu/grasscutter/database/DatabaseHelper.java @@ -550,7 +550,7 @@ public final class DatabaseHelper { .first(); } catch (IllegalArgumentException e) { Grasscutter.getLogger() - .debug("Error occurred while getting uid " + uid + "'s achievement data", e); + .debug("Error occurred while getting uid {}'s achievement data", uid, e); DatabaseManager.getGameDatabase().getCollection("achievements").deleteMany(eq("uid", uid)); return null; } diff --git a/src/main/java/emu/grasscutter/game/ability/AbilityManager.java b/src/main/java/emu/grasscutter/game/ability/AbilityManager.java index 3bf06e5ad..1711c3b06 100644 --- a/src/main/java/emu/grasscutter/game/ability/AbilityManager.java +++ b/src/main/java/emu/grasscutter/game/ability/AbilityManager.java @@ -177,15 +177,7 @@ public final class AbilityManager extends BasePlayerManager { public void onAbilityInvoke(AbilityInvokeEntry invoke) throws Exception { Grasscutter.getLogger() - .trace( - "Ability invoke: " - + invoke - + " " - + invoke.getArgumentType() - + " (" - + invoke.getArgumentTypeValue() - + "): " - + this.player.getScene().getEntityById(invoke.getEntityId())); + .trace("Ability invoke: {} {} ({}): {}", invoke, invoke.getArgumentType(), invoke.getArgumentTypeValue(), this.player.getScene().getEntityById(invoke.getEntityId())); var entity = this.player.getScene().getEntityById(invoke.getEntityId()); if (entity != null) { Grasscutter.getLogger() @@ -212,7 +204,7 @@ public final class AbilityManager extends BasePlayerManager { if (invoke.getHead().getTargetId() != 0) { Grasscutter.getLogger() - .trace("Target: " + this.player.getScene().getEntityById(invoke.getHead().getTargetId())); + .trace("Target: {}", this.player.getScene().getEntityById(invoke.getHead().getTargetId())); } if (invoke.getHead().getLocalId() != 0) { this.handleServerInvoke(invoke); diff --git a/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java b/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java index 7d3405fab..3d0c2db44 100644 --- a/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java +++ b/src/main/java/emu/grasscutter/game/gacha/GachaBanner.java @@ -96,12 +96,7 @@ public class GachaBanner { private void warnDeprecated(String name, String replacement) { Grasscutter.getLogger() - .error( - "Deprecated field found in Banners config: " - + name - + " was replaced back in early May 2022, use " - + replacement - + " instead. You MUST remove this field from your config."); + .error("Deprecated field found in Banners config: {} was replaced back in early May 2022, use {} instead. You MUST remove this field from your config.", name, replacement); this.deprecated = true; } diff --git a/src/main/java/emu/grasscutter/game/inventory/Inventory.java b/src/main/java/emu/grasscutter/game/inventory/Inventory.java index b0e8f72d9..841921ac2 100644 --- a/src/main/java/emu/grasscutter/game/inventory/Inventory.java +++ b/src/main/java/emu/grasscutter/game/inventory/Inventory.java @@ -322,10 +322,7 @@ public class Inventory extends BasePlayerManager implements Iterable { case MATERIAL_COSTUME: case MATERIAL_NAMECARD: Grasscutter.getLogger() - .warn( - "Attempted to add a " - + item.getItemData().getMaterialType().name() - + " to inventory, but item definition lacks isUseOnGain. This indicates a Resources error."); + .warn("Attempted to add a {} to inventory, but item definition lacks isUseOnGain. This indicates a Resources error.", item.getItemData().getMaterialType().name()); return null; default: if (tab == null) { diff --git a/src/main/java/emu/grasscutter/game/mail/MailHandler.java b/src/main/java/emu/grasscutter/game/mail/MailHandler.java index ab68b6bc6..45b3373f6 100644 --- a/src/main/java/emu/grasscutter/game/mail/MailHandler.java +++ b/src/main/java/emu/grasscutter/game/mail/MailHandler.java @@ -35,12 +35,7 @@ public class MailHandler extends BasePlayerManager { this.mail.add(message); Grasscutter.getLogger() - .debug( - "Mail sent to user [" - + this.getPlayer().getUid() - + ":" - + this.getPlayer().getNickname() - + "]!"); + .debug("Mail sent to user [{}:{}]!", this.getPlayer().getUid(), this.getPlayer().getNickname()); if (this.getPlayer().isOnline()) { this.getPlayer().sendPacket(new PacketMailChangeNotify(this.getPlayer(), message)); diff --git a/src/main/java/emu/grasscutter/game/managers/SotSManager.java b/src/main/java/emu/grasscutter/game/managers/SotSManager.java index eeafe1a09..2864e223e 100644 --- a/src/main/java/emu/grasscutter/game/managers/SotSManager.java +++ b/src/main/java/emu/grasscutter/game/managers/SotSManager.java @@ -104,7 +104,7 @@ public class SotSManager extends BasePlayerManager { if (isAlive) { return; } - logger.trace("Reviving avatar " + entity.getAvatar().getAvatarData().getName()); + logger.trace("Reviving avatar {}", entity.getAvatar().getAvatarData().getName()); player.getTeamManager().reviveAvatar(entity.getAvatar()); player.getTeamManager().healAvatar(entity.getAvatar(), 30, 0); }); @@ -130,8 +130,7 @@ public class SotSManager extends BasePlayerManager { setCurrentVolume(0); } if (needHP > 0) { - logger.trace( - "Healing avatar " + entity.getAvatar().getAvatarData().getName() + " +" + needHP); + logger.trace("Healing avatar {} +{}", entity.getAvatar().getAvatarData().getName(), needHP); player.getTeamManager().healAvatar(entity.getAvatar(), 0, needHP); player .getSession() @@ -168,9 +167,9 @@ public class SotSManager extends BasePlayerManager { int secondsSinceLastUsed = (int) (now - getLastUsed()); // 15s = 1% max volume int volumeRefilled = secondsSinceLastUsed * maxVolume / 15 / 100; - logger.trace("Statue has refilled HP volume: " + volumeRefilled); + logger.trace("Statue has refilled HP volume: {}", volumeRefilled); currentVolume = Math.min(currentVolume + volumeRefilled, maxVolume); - logger.trace("Statue remaining HP volume: " + currentVolume); + logger.trace("Statue remaining HP volume: {}", currentVolume); setCurrentVolume(currentVolume); } } @@ -181,11 +180,7 @@ public class SotSManager extends BasePlayerManager { public void run() { refillSpringVolume(); - logger.trace( - "isAutoRecoveryEnabled: " - + getIsAutoRecoveryEnabled() - + "\tautoRecoverPercentage: " - + getAutoRecoveryPercentage()); + logger.trace("isAutoRecoveryEnabled: {}\tautoRecoverPercentage: {}", getIsAutoRecoveryEnabled(), getAutoRecoveryPercentage()); if (getIsAutoRecoveryEnabled()) { List activeTeam = player.getTeamManager().getActiveTeam(); diff --git a/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java b/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java index 5322c22c9..8dfcaea69 100644 --- a/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java +++ b/src/main/java/emu/grasscutter/game/managers/blossom/BlossomManager.java @@ -101,7 +101,7 @@ public class BlossomManager { } } - Grasscutter.getLogger().info("Blossom Monsters:" + monsters); + Grasscutter.getLogger().info("Blossom Monsters:{}", monsters); activity = new BlossomActivity(entityGadget, monsters, -1, worldLevel); blossomActivities.add(activity); @@ -203,7 +203,7 @@ public class BlossomManager { RewardPreviewData blossomRewards = getRewardList(type, worldLevel); if (blossomRewards == null) { Grasscutter.getLogger() - .error("Blossom could not support world level : " + worldLevel); + .error("Blossom could not support world level : {}", worldLevel); return null; } var rewards = blossomRewards.getPreviewItems(); diff --git a/src/main/java/emu/grasscutter/game/managers/stamina/StaminaManager.java b/src/main/java/emu/grasscutter/game/managers/stamina/StaminaManager.java index 8a0a86b10..79366e79f 100644 --- a/src/main/java/emu/grasscutter/game/managers/stamina/StaminaManager.java +++ b/src/main/java/emu/grasscutter/game/managers/stamina/StaminaManager.java @@ -229,8 +229,7 @@ public class StaminaManager extends BasePlayerManager { float diffX = currentCoordinates.getX() - previousCoordinates.getX(); float diffY = currentCoordinates.getY() - previousCoordinates.getY(); float diffZ = currentCoordinates.getZ() - previousCoordinates.getZ(); - logger.trace("isPlayerMoving: " + previousCoordinates + ", " + currentCoordinates + - ", " + diffX + ", " + diffY + ", " + diffZ); + logger.trace("isPlayerMoving: {}, {}, {}, {}, {}", previousCoordinates, currentCoordinates, diffX, diffY, diffZ); return Math.abs(diffX) > 0.3 || Math.abs(diffY) > 0.2 || Math.abs(diffZ) > 0.3; } @@ -244,17 +243,13 @@ public class StaminaManager extends BasePlayerManager { for (Map.Entry listener : beforeUpdateStaminaListeners.entrySet()) { Consumption overriddenConsumption = listener.getValue().onBeforeUpdateStamina(consumption.type.toString(), consumption, isCharacterStamina); if ((overriddenConsumption.type != consumption.type) && (overriddenConsumption.amount != consumption.amount)) { - logger.debug("Stamina update relative(" + - consumption.type.toString() + ", " + consumption.amount + ") overridden to relative(" + - consumption.type.toString() + ", " + consumption.amount + ") by: " + listener.getKey()); + logger.debug("Stamina update relative({}, {}) overridden to relative({}, {}) by: {}", consumption.type.toString(), consumption.amount, consumption.type.toString(), consumption.amount, listener.getKey()); return currentStamina; } } int maxStamina = isCharacterStamina ? getMaxCharacterStamina() : getMaxVehicleStamina(); - logger.trace((isCharacterStamina ? "C " : "V ") + currentStamina + "/" + maxStamina + "\t" + currentState + "\t" + - (isPlayerMoving() ? "moving" : " ") + "\t(" + consumption.type + "," + - consumption.amount + ")"); + logger.trace("{}{}/{}\t{}\t{}\t({},{})", isCharacterStamina ? "C " : "V ", currentStamina, maxStamina, currentState, isPlayerMoving() ? "moving" : " ", consumption.type, consumption.amount); int newStamina = currentStamina + consumption.amount; if (newStamina < 0) { @@ -272,9 +267,7 @@ public class StaminaManager extends BasePlayerManager { for (Map.Entry listener : beforeUpdateStaminaListeners.entrySet()) { int overriddenNewStamina = listener.getValue().onBeforeUpdateStamina(reason, newStamina, isCharacterStamina); if (overriddenNewStamina != newStamina) { - logger.debug("Stamina update absolute(" + - reason + ", " + newStamina + ") overridden to absolute(" + - reason + ", " + newStamina + ") by: " + listener.getKey()); + logger.debug("Stamina update absolute({}, {}) overridden to absolute({}, {}) by: {}", reason, newStamina, reason, newStamina, listener.getKey()); return currentStamina; } } @@ -450,8 +443,7 @@ public class StaminaManager extends BasePlayerManager { int currentVehicleStamina = getCurrentVehicleStamina(); int maxVehicleStamina = getMaxVehicleStamina(); if (moving || (currentCharacterStamina < maxCharacterStamina) || (currentVehicleStamina < maxVehicleStamina)) { - logger.trace("Player moving: " + moving + ", stamina full: " + - (currentCharacterStamina >= maxCharacterStamina) + ", recalculate stamina"); + logger.trace("Player moving: {}, stamina full: {}, recalculate stamina", moving, currentCharacterStamina >= maxCharacterStamina); boolean isCharacterStamina = true; Consumption consumption; @@ -499,7 +491,7 @@ public class StaminaManager extends BasePlayerManager { // For others recover after 1 seconds (5 ticks) - as official server does. staminaRecoverDelay++; consumption.amount = 0; - logger.trace("Delaying recovery: " + staminaRecoverDelay); + logger.trace("Delaying recovery: {}", staminaRecoverDelay); } } updateStaminaRelative(cachedSession, consumption, isCharacterStamina); @@ -514,8 +506,7 @@ public class StaminaManager extends BasePlayerManager { // TODO: fix drowning waverider entity int stamina = getCurrentCharacterStamina(); if (stamina < 10) { - logger.trace(getCurrentCharacterStamina() + "/" + - getMaxCharacterStamina() + "\t" + currentState); + logger.trace("{}/{}\t{}", getCurrentCharacterStamina(), getMaxCharacterStamina(), currentState); if (currentState != MotionState.MOTION_STATE_SWIM_IDLE) { killAvatar(cachedSession, cachedEntity, PlayerDieType.PLAYER_DIE_TYPE_DRAWN); } diff --git a/src/main/java/emu/grasscutter/game/shop/ShopSystem.java b/src/main/java/emu/grasscutter/game/shop/ShopSystem.java index 613834f45..b1e47d9f4 100644 --- a/src/main/java/emu/grasscutter/game/shop/ShopSystem.java +++ b/src/main/java/emu/grasscutter/game/shop/ShopSystem.java @@ -93,7 +93,7 @@ public class ShopSystem extends BaseGameSystem { } this.shopChestData.put((int) chestId, list); }); - Grasscutter.getLogger().debug("Loaded " + chestMap.size() + " ShopChest entries."); + Grasscutter.getLogger().debug("Loaded {} ShopChest entries.", chestMap.size()); } catch (Exception e) { Grasscutter.getLogger().error("Unable to load ShopChest data.", e); } diff --git a/src/main/java/emu/grasscutter/game/systems/InventorySystem.java b/src/main/java/emu/grasscutter/game/systems/InventorySystem.java index 624a97fca..cd86e429f 100644 --- a/src/main/java/emu/grasscutter/game/systems/InventorySystem.java +++ b/src/main/java/emu/grasscutter/game/systems/InventorySystem.java @@ -82,12 +82,7 @@ public class InventorySystem extends BaseGameSystem { val avatarData = avatar.getSkillDepot(); if (avatarData == null) { Grasscutter.getLogger() - .error( - "Attempted to check constellation level for UID" - + player.getUid() - + "'s avatar " - + avatarId - + " but avatar has no skillDepot!"); + .error("Attempted to check constellation level for UID{}'s avatar {} but avatar has no skillDepot!", player.getUid(), avatarId); return 0; } int constItemId = avatarData.getTalentCostItemId(); diff --git a/src/main/java/emu/grasscutter/plugin/Plugin.java b/src/main/java/emu/grasscutter/plugin/Plugin.java index 03f14a824..1c6cbdc5b 100644 --- a/src/main/java/emu/grasscutter/plugin/Plugin.java +++ b/src/main/java/emu/grasscutter/plugin/Plugin.java @@ -30,7 +30,7 @@ public abstract class Plugin { @SuppressWarnings("unused") private void initializePlugin(PluginIdentifier identifier, URLClassLoader classLoader) { if (this.identifier != null) { - Grasscutter.getLogger().warn(this.identifier.name + " had a reinitialization attempt."); + Grasscutter.getLogger().warn("{} had a reinitialization attempt.", this.identifier.name); return; } @@ -45,7 +45,7 @@ public abstract class Plugin { if (!this.dataFolder.exists() && !this.dataFolder.mkdirs()) { Grasscutter.getLogger() - .warn("Failed to create plugin data folder for " + this.identifier.name); + .warn("Failed to create plugin data folder for {}", this.identifier.name); } } diff --git a/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java b/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java index 343783450..f37f57ebe 100644 --- a/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java +++ b/src/main/java/emu/grasscutter/scripts/SceneScriptManager.java @@ -887,7 +887,7 @@ public class SceneScriptManager { } } catch (Throwable throwable) { Grasscutter.getLogger() - .error("Condition Trigger " + params.type + " triggered exception", throwable); + .error("Condition Trigger {} triggered exception", params.type, throwable); } finally { // make sure it is removed ScriptLoader.getScriptLib().removeSceneScriptManager(); @@ -913,7 +913,7 @@ public class SceneScriptManager { return false; } catch (Throwable ex) { Grasscutter.getLogger() - .error("Condition Trigger " + trigger.getName() + " triggered exception", ex); + .error("Condition Trigger {} triggered exception", trigger.getName(), ex); return false; } finally { ScriptLoader.getScriptLib().removeCurrentGroup(); diff --git a/src/main/java/emu/grasscutter/scripts/data/SceneBlock.java b/src/main/java/emu/grasscutter/scripts/data/SceneBlock.java index 68e1467d0..16bc5ac14 100644 --- a/src/main/java/emu/grasscutter/scripts/data/SceneBlock.java +++ b/src/main/java/emu/grasscutter/scripts/data/SceneBlock.java @@ -73,9 +73,7 @@ public class SceneBlock { SceneIndexManager.buildIndex(3, this.groups.values(), g -> g.pos.toPoint()); } catch (ScriptException exception) { Grasscutter.getLogger() - .error( - "An error occurred while loading block " + this.id + " in scene " + sceneId, - exception); + .error("An error occurred while loading block {} in scene {}", this.id, sceneId, exception); } Grasscutter.getLogger().trace("Successfully loaded block {} in scene {}.", this.id, sceneId); return this; diff --git a/src/main/java/emu/grasscutter/scripts/data/SceneGroup.java b/src/main/java/emu/grasscutter/scripts/data/SceneGroup.java index 5c9a93dba..0c2c253d8 100644 --- a/src/main/java/emu/grasscutter/scripts/data/SceneGroup.java +++ b/src/main/java/emu/grasscutter/scripts/data/SceneGroup.java @@ -168,8 +168,7 @@ public final class SceneGroup { this.suites.forEach(i -> i.init(this)); } catch (ScriptException e) { Grasscutter.getLogger() - .error( - "An error occurred while loading group " + this.id + " in scene " + sceneId + ".", e); + .error("An error occurred while loading group {} in scene {}.", this.id, sceneId, e); } catch (LuaError luaError) { Grasscutter.getLogger() .error( diff --git a/src/main/java/emu/grasscutter/scripts/data/SceneMeta.java b/src/main/java/emu/grasscutter/scripts/data/SceneMeta.java index 93038eec2..abe23d78f 100644 --- a/src/main/java/emu/grasscutter/scripts/data/SceneMeta.java +++ b/src/main/java/emu/grasscutter/scripts/data/SceneMeta.java @@ -29,7 +29,7 @@ public class SceneMeta { CompiledScript cs = ScriptLoader.getScript("Scene/" + sceneId + "/scene" + sceneId + ".lua"); if (cs == null) { - Grasscutter.getLogger().warn("No script found for scene " + sceneId); + Grasscutter.getLogger().warn("No script found for scene {}", sceneId); return null; } diff --git a/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java b/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java index 6d747797b..0cdeb63cd 100644 --- a/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java +++ b/src/main/java/emu/grasscutter/server/game/GameServerPacketHandler.java @@ -41,7 +41,7 @@ public final class GameServerPacketHandler { // Debug Grasscutter.getLogger() - .debug("Registered " + this.handlers.size() + " " + handlerClass.getSimpleName() + "s"); + .debug("Registered {} {}s", this.handlers.size(), handlerClass.getSimpleName()); } public void handle(GameSession session, int opcode, byte[] header, byte[] payload) { @@ -91,11 +91,7 @@ public final class GameServerPacketHandler { if (GAME_INFO.logPackets == ServerDebugMode.MISSING || GAME_INFO.logPackets == ServerDebugMode.ALL) { Grasscutter.getLogger() - .info( - "Unhandled packet (" - + opcode - + "): " - + emu.grasscutter.net.packet.PacketOpcodesUtils.getOpcodeName(opcode)); + .info("Unhandled packet ({}): {}", opcode, PacketOpcodesUtils.getOpcodeName(opcode)); } } } diff --git a/src/main/java/emu/grasscutter/server/game/GameSession.java b/src/main/java/emu/grasscutter/server/game/GameSession.java index fa0d1a357..160644407 100644 --- a/src/main/java/emu/grasscutter/server/game/GameSession.java +++ b/src/main/java/emu/grasscutter/server/game/GameSession.java @@ -99,7 +99,7 @@ public class GameSession implements GameSessionManager.KcpChannel { public void logPacket(String sendOrRecv, int opcode, byte[] payload) { Grasscutter.getLogger() - .info(sendOrRecv + ": " + PacketOpcodesUtils.getOpcodeName(opcode) + " (" + opcode + ")"); + .info("{}: {} ({})", sendOrRecv, PacketOpcodesUtils.getOpcodeName(opcode), opcode); if (GAME_INFO.isShowPacketPayload) System.out.println(Utils.bytesToHex(payload)); } diff --git a/src/main/java/emu/grasscutter/server/http/HttpServer.java b/src/main/java/emu/grasscutter/server/http/HttpServer.java index e52e389d4..721c811bf 100644 --- a/src/main/java/emu/grasscutter/server/http/HttpServer.java +++ b/src/main/java/emu/grasscutter/server/http/HttpServer.java @@ -66,8 +66,7 @@ public final class HttpServer { this.javalin.exception(Exception.class, (exception, ctx) -> { ctx.status(500).result("Internal server error. %s" .formatted(exception.getMessage())); - Grasscutter.getLogger().debug("Exception thrown: " + - exception.getMessage(), exception); + Grasscutter.getLogger().debug("Exception thrown: {}", exception.getMessage(), exception); }); } diff --git a/src/main/java/emu/grasscutter/server/http/documentation/RootRequestHandler.java b/src/main/java/emu/grasscutter/server/http/documentation/RootRequestHandler.java index 65b00364d..fee90c4bd 100644 --- a/src/main/java/emu/grasscutter/server/http/documentation/RootRequestHandler.java +++ b/src/main/java/emu/grasscutter/server/http/documentation/RootRequestHandler.java @@ -18,7 +18,7 @@ final class RootRequestHandler implements DocumentationHandler { try { t = Files.readString(templatePath); } catch (IOException ignored) { - Grasscutter.getLogger().warn("File does not exist: " + templatePath); + Grasscutter.getLogger().warn("File does not exist: {}", templatePath); } this.template = t; } diff --git a/src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java b/src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java index edee6909a..c35703bb1 100644 --- a/src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java +++ b/src/main/java/emu/grasscutter/server/http/handlers/AnnouncementsHandler.java @@ -22,7 +22,7 @@ public final class AnnouncementsHandler implements Router { data = FileUtils.readToString(DataLoader.load("GameAnnouncement.json")); } catch (Exception e) { if (e.getClass() == IOException.class) { - Grasscutter.getLogger().info("Unable to read file 'GameAnnouncementList.json'. \n" + e); + Grasscutter.getLogger().info("Unable to read file 'GameAnnouncementList.json'. \n{}", e); } } } else if (Objects.equals( @@ -31,7 +31,7 @@ public final class AnnouncementsHandler implements Router { data = FileUtils.readToString(DataLoader.load("GameAnnouncementList.json")); } catch (Exception e) { if (e.getClass() == IOException.class) { - Grasscutter.getLogger().info("Unable to read file 'GameAnnouncementList.json'. \n" + e); + Grasscutter.getLogger().info("Unable to read file 'GameAnnouncementList.json'. \n{}", e); } } } else { @@ -77,7 +77,7 @@ public final class AnnouncementsHandler implements Router { ctx.contentType(fromExtension != null ? fromExtension : ContentType.APPLICATION_OCTET_STREAM); ctx.result(filestream.readAllBytes()); } catch (Exception e) { - Grasscutter.getLogger().warn("File does not exist: " + ctx.path()); + Grasscutter.getLogger().warn("File does not exist: {}", ctx.path()); ctx.status(404); } } diff --git a/src/main/java/emu/grasscutter/server/http/objects/HttpJsonResponse.java b/src/main/java/emu/grasscutter/server/http/objects/HttpJsonResponse.java index 2edc529e1..70e3f053a 100644 --- a/src/main/java/emu/grasscutter/server/http/objects/HttpJsonResponse.java +++ b/src/main/java/emu/grasscutter/server/http/objects/HttpJsonResponse.java @@ -38,13 +38,11 @@ public final class HttpJsonResponse implements Handler { && Arrays.stream(missingRoutes) .anyMatch(x -> Objects.equals(x, ctx.endpointHandlerPath()))) { Grasscutter.getLogger() - .info( - translate( - "messages.dispatch.request", - Utils.address(ctx), - ctx.method(), - ctx.endpointHandlerPath()) - + (DISPATCH_INFO.logRequests == ServerDebugMode.MISSING ? "(MISSING)" : "")); + .info("{}{}", translate( + "messages.dispatch.request", + Utils.address(ctx), + ctx.method(), + ctx.endpointHandlerPath()), DISPATCH_INFO.logRequests == ServerDebugMode.MISSING ? "(MISSING)" : ""); } ctx.result(response); } diff --git a/src/main/java/emu/grasscutter/server/http/objects/WebStaticVersionResponse.java b/src/main/java/emu/grasscutter/server/http/objects/WebStaticVersionResponse.java index 7e65e0b48..5061c001b 100644 --- a/src/main/java/emu/grasscutter/server/http/objects/WebStaticVersionResponse.java +++ b/src/main/java/emu/grasscutter/server/http/objects/WebStaticVersionResponse.java @@ -17,7 +17,7 @@ public class WebStaticVersionResponse implements Handler { ctx.result(filestream.readAllBytes()); } catch (Exception e) { if (DISPATCH_INFO.logRequests == Grasscutter.ServerDebugMode.MISSING) { - Grasscutter.getLogger().warn("Webstatic File Missing: " + path); + Grasscutter.getLogger().warn("Webstatic File Missing: {}", path); } ctx.status(404); } diff --git a/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java index 6489b140a..ffd1724f7 100644 --- a/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/recv/HandlerCombatInvocationsNotify.java @@ -129,13 +129,7 @@ public class HandlerCombatInvocationsNotify extends PacketHandler { int maxDelay = 200; long actualDelay = System.currentTimeMillis() - cachedLandingTimeMillisecond; Grasscutter.getLogger() - .trace( - "MOTION_FALL_ON_GROUND received after " - + actualDelay - + "/" - + maxDelay - + "ms." - + (actualDelay > maxDelay ? " Discard" : "")); + .trace("MOTION_FALL_ON_GROUND received after {}/{}ms.{}", actualDelay, maxDelay, actualDelay > maxDelay ? " Discard" : ""); if (actualDelay > maxDelay) { return; } @@ -161,20 +155,9 @@ public class HandlerCombatInvocationsNotify extends PacketHandler { } if (damageFactor > 0) { Grasscutter.getLogger() - .debug( - currentHP - + "/" - + maxHP - + "\tLandingSpeed: " - + cachedLandingSpeed - + "\tDamageFactor: " - + damageFactor - + "\tDamage: " - + damage - + "\tNewHP: " - + newHP); + .debug("{}/{}\tLandingSpeed: {}\tDamageFactor: {}\tDamage: {}\tNewHP: {}", currentHP, maxHP, cachedLandingSpeed, damageFactor, damage, newHP); } else { - Grasscutter.getLogger().trace(currentHP + "/" + maxHP + "\tLandingSpeed: 0\tNo damage"); + Grasscutter.getLogger().trace("{}/{}\tLandingSpeed: 0\tNo damage", currentHP, maxHP); } entity.setFightProperty(FightProperty.FIGHT_PROP_CUR_HP, newHP); entity diff --git a/src/main/java/emu/grasscutter/task/TaskMap.java b/src/main/java/emu/grasscutter/task/TaskMap.java index f9da26241..af98a46ea 100644 --- a/src/main/java/emu/grasscutter/task/TaskMap.java +++ b/src/main/java/emu/grasscutter/task/TaskMap.java @@ -155,12 +155,11 @@ public final class TaskMap { } } else { Grasscutter.getLogger() - .error("Class " + annotated.getName() + " is not a TaskHandler!"); + .error("Class {} is not a TaskHandler!", annotated.getName()); } } catch (Exception exception) { Grasscutter.getLogger() - .error( - "Failed to register task handler for " + annotated.getSimpleName(), exception); + .error("Failed to register task handler for {}", annotated.getSimpleName(), exception); } }); try { diff --git a/src/main/java/emu/grasscutter/tools/Tools.java b/src/main/java/emu/grasscutter/tools/Tools.java index 35b9a4e54..5c89cd733 100644 --- a/src/main/java/emu/grasscutter/tools/Tools.java +++ b/src/main/java/emu/grasscutter/tools/Tools.java @@ -314,10 +314,10 @@ public final class Tools { var path = GachaHandler.getGachaMappingsPath(); if (!Files.exists(path)) { try { - Grasscutter.getLogger().debug("Creating default '" + path + "' data"); + Grasscutter.getLogger().debug("Creating default '{}' data", path); Tools.createGachaMappings(path); } catch (Exception exception) { - Grasscutter.getLogger().warn("Failed to create gacha mappings. \n" + exception); + Grasscutter.getLogger().warn("Failed to create gacha mappings. \n{}", exception); } } } @@ -342,7 +342,7 @@ public final class Tools { Files.createDirectories(location.getParent()); Files.writeString(location, sb); - Grasscutter.getLogger().debug("Mappings generated to " + location); + Grasscutter.getLogger().debug("Mappings generated to {}", location); } public static List getAvailableLanguage() { diff --git a/src/main/java/emu/grasscutter/utils/FileUtils.java b/src/main/java/emu/grasscutter/utils/FileUtils.java index 0b1ab4fd1..21566bd75 100644 --- a/src/main/java/emu/grasscutter/utils/FileUtils.java +++ b/src/main/java/emu/grasscutter/utils/FileUtils.java @@ -41,7 +41,7 @@ public final class FileUtils { break; default: Grasscutter.getLogger() - .error("Invalid URI scheme for class resources: " + uri.getScheme()); + .error("Invalid URI scheme for class resources: {}", uri.getScheme()); break; } } catch (URISyntaxException | IOException e) { @@ -49,7 +49,7 @@ public final class FileUtils { Grasscutter.getLogger().error("Failed to load jar?!"); } finally { DATA_DEFAULT_PATH = path; - Grasscutter.getLogger().debug("Setting path for default data: " + path.toAbsolutePath()); + Grasscutter.getLogger().debug("Setting path for default data: {}", path.toAbsolutePath()); } // Setup Resources path @@ -82,10 +82,10 @@ public final class FileUtils { path = excelBinOutput.get().getParent(); if (path == null) path = root; Grasscutter.getLogger() - .debug("Resources will be loaded from \"" + resources + "/" + path + "\""); + .debug("Resources will be loaded from \"" + resources + "/{}\"", path); } else { Grasscutter.getLogger() - .error("Failed to find ExcelBinOutput in resources zip \"" + resources + "\""); + .error("Failed to find ExcelBinOutput in resources zip \"" + resources + "\""); } } catch (IOException e) { Grasscutter.getLogger().error("Failed to scan resources zip \"" + resources + "\""); @@ -176,7 +176,7 @@ public final class FileUtils { try { Files.write(path, bytes); } catch (IOException e) { - Grasscutter.getLogger().warn("Failed to write file: " + dest); + Grasscutter.getLogger().warn("Failed to write file: {}", dest); } } @@ -188,7 +188,7 @@ public final class FileUtils { try { return Files.readAllBytes(path); } catch (IOException e) { - Grasscutter.getLogger().warn("Failed to read file: " + path); + Grasscutter.getLogger().warn("Failed to read file: {}", path); } return new byte[0]; @@ -202,8 +202,8 @@ public final class FileUtils { try (InputStream is = Grasscutter.class.getResourceAsStream(resourcePath)) { return is.readAllBytes(); } catch (Exception exception) { - Grasscutter.getLogger().warn("Failed to read resource: " + resourcePath); - Grasscutter.getLogger().debug("Failed to load resource: " + resourcePath, exception); + Grasscutter.getLogger().warn("Failed to read resource: {}", resourcePath); + Grasscutter.getLogger().debug("Failed to load resource: {}", resourcePath, exception); } return new byte[0]; @@ -218,7 +218,7 @@ public final class FileUtils { byte[] resource = FileUtils.readResource(resourcePath); FileUtils.write(destination, resource); } catch (Exception exception) { - Grasscutter.getLogger().warn("Failed to copy resource: " + resourcePath + "\n" + exception); + Grasscutter.getLogger().warn("Failed to copy resource: {}\n{}", resourcePath, exception); } } diff --git a/src/main/java/emu/grasscutter/utils/TsvUtils.java b/src/main/java/emu/grasscutter/utils/TsvUtils.java index a61d75548..16fc75941 100644 --- a/src/main/java/emu/grasscutter/utils/TsvUtils.java +++ b/src/main/java/emu/grasscutter/utils/TsvUtils.java @@ -228,12 +228,10 @@ public final class TsvUtils { return tree.toClass(classType, null); } catch (Exception e) { Grasscutter.getLogger() - .warn( - "Error deserializing an instance of class " - + classType.getCanonicalName()); - Grasscutter.getLogger().warn("At token #" + t + " of #" + m); - Grasscutter.getLogger().warn("Header names are: " + headerNames); - Grasscutter.getLogger().warn("Tokens are: " + tokens); + .warn("Error deserializing an instance of class {}", classType.getCanonicalName()); + Grasscutter.getLogger().warn("At token #{} of #{}", t, m); + Grasscutter.getLogger().warn("Header names are: {}", headerNames); + Grasscutter.getLogger().warn("Tokens are: {}", tokens); Grasscutter.getLogger().warn("Stacktrace is: ", e); // System.out.println("Error deserializing an instance of class // "+classType.getCanonicalName()); @@ -247,7 +245,7 @@ public final class TsvUtils { }) .toList(); } catch (Exception e) { - Grasscutter.getLogger().error("Error loading file '" + filename + "' - Stacktrace is: ", e); + Grasscutter.getLogger().error("Error loading file '{}' - Stacktrace is: ", filename, e); return null; } } @@ -285,12 +283,10 @@ public final class TsvUtils { return obj; } catch (Exception e) { Grasscutter.getLogger() - .warn( - "Error deserializing an instance of class " - + classType.getCanonicalName()); - Grasscutter.getLogger().warn("At token #" + t + " of #" + m); - Grasscutter.getLogger().warn("Header names are: " + headerNames); - Grasscutter.getLogger().warn("Tokens are: " + tokens); + .warn("Error deserializing an instance of class {}", classType.getCanonicalName()); + Grasscutter.getLogger().warn("At token #{} of #{}", t, m); + Grasscutter.getLogger().warn("Header names are: {}", headerNames); + Grasscutter.getLogger().warn("Tokens are: {}", tokens); Grasscutter.getLogger().warn("Stacktrace is: ", e); return null; } @@ -298,17 +294,14 @@ public final class TsvUtils { .toList(); } catch (NoSuchFileException e) { Grasscutter.getLogger() - .error( - "Error loading file '" - + filename - + "' - File does not exist. You are missing resources. Note that this file may exist in JSON, TSV, or TSJ format, any of which are suitable."); + .error("Error loading file '{}' - File does not exist. You are missing resources. Note that this file may exist in JSON, TSV, or TSJ format, any of which are suitable.", filename); return null; } catch (IOException e) { - Grasscutter.getLogger().error("Error loading file '" + filename + "' - Stacktrace is: ", e); + Grasscutter.getLogger().error("Error loading file '{}' - Stacktrace is: ", filename, e); return null; } catch (NoSuchMethodException e) { Grasscutter.getLogger() - .error("Error loading file '" + filename + "' - Class is missing NoArgsConstructor"); + .error("Error loading file '{}' - Class is missing NoArgsConstructor", filename); return null; } } @@ -336,7 +329,7 @@ public final class TsvUtils { throws Exception { val pair = getAllArgsConstructor(classType); if (pair == null) { - Grasscutter.getLogger().error("No AllArgsContructor found for class: " + classType); + Grasscutter.getLogger().error("No AllArgsContructor found for class: {}", classType); return null; } val constructor = pair.left(); @@ -405,27 +398,21 @@ public final class TsvUtils { return constructor.newInstance(args); } catch (Exception e) { Grasscutter.getLogger() - .warn( - "Error deserializing an instance of class " - + classType.getCanonicalName() - + " : " - + constructor.getName()); - Grasscutter.getLogger().warn("At token #" + t + " of #" + m); + .warn("Error deserializing an instance of class {} : {}", classType.getCanonicalName(), constructor.getName()); + Grasscutter.getLogger().warn("At token #{} of #{}", t, m); Grasscutter.getLogger() - .warn("Arg names are: " + Arrays.toString(conArgNames)); + .warn("Arg names are: {}", Arrays.toString(conArgNames)); Grasscutter.getLogger() - .warn("Arg types are: " + Arrays.toString(argTypes)); + .warn("Arg types are: {}", Arrays.toString(argTypes)); Grasscutter.getLogger() - .warn("Default Args are: " + Arrays.toString(defaultArgs)); - Grasscutter.getLogger().warn("Args are: " + Arrays.toString(args)); - Grasscutter.getLogger().warn("Header names are: " + headerNames); + .warn("Default Args are: {}", Arrays.toString(defaultArgs)); + Grasscutter.getLogger().warn("Args are: {}", Arrays.toString(args)); + Grasscutter.getLogger().warn("Header names are: {}", headerNames); Grasscutter.getLogger() - .warn( - "Header types are: " - + IntStream.of(argPositions) - .mapToObj(i -> (i >= 0) ? argTypes[i] : null) - .toList()); - Grasscutter.getLogger().warn("Tokens are: " + tokens); + .warn("Header types are: {}", IntStream.of(argPositions) + .mapToObj(i -> (i >= 0) ? argTypes[i] : null) + .toList()); + Grasscutter.getLogger().warn("Tokens are: {}", tokens); Grasscutter.getLogger().warn("Stacktrace is: ", e); return null; } @@ -433,7 +420,7 @@ public final class TsvUtils { .toList(); } catch (IOException e) { Grasscutter.getLogger() - .error("Error loading file '" + filename + "' - Stacktrace is: ", e); + .error("Error loading file '{}' - Stacktrace is: ", filename, e); return null; } }) @@ -582,23 +569,14 @@ public final class TsvUtils { // System.out.println("Exception while setting field "+name+" for class "+objClass+" // - "+e); Grasscutter.getLogger() - .error( - "Exception while setting field " - + name - + " (" - + field.classType - + ")" - + " for class " - + objClass - + " - ", - e); + .error("Exception while setting field {} ({}) for class {} - ", name, field.classType, objClass, e); } }); return obj; } catch (Exception e) { // System.out.println("Exception while creating object of class "+objClass+" - "+e); Grasscutter.getLogger() - .error("Exception while creating object of class " + objClass + " - ", e); + .error("Exception while creating object of class {} - ", objClass, e); return null; } } diff --git a/src/main/java/emu/grasscutter/utils/Utils.java b/src/main/java/emu/grasscutter/utils/Utils.java index 435d6d0f1..e4fc8c0e7 100644 --- a/src/main/java/emu/grasscutter/utils/Utils.java +++ b/src/main/java/emu/grasscutter/utils/Utils.java @@ -69,7 +69,7 @@ public final class Utils { public static void logByteArray(byte[] array) { ByteBuf b = Unpooled.wrappedBuffer(array); - Grasscutter.getLogger().info("\n" + ByteBufUtil.prettyHexDump(b)); + Grasscutter.getLogger().info("\n{}", ByteBufUtil.prettyHexDump(b)); b.release(); } @@ -143,7 +143,7 @@ public final class Utils { public static boolean copyFromResources(String resource, String destination) { try (InputStream stream = Grasscutter.class.getResourceAsStream(resource)) { if (stream == null) { - Grasscutter.getLogger().warn("Could not find resource: " + resource); + Grasscutter.getLogger().warn("Could not find resource: {}", resource); return false; } @@ -151,7 +151,7 @@ public final class Utils { return true; } catch (Exception exception) { Grasscutter.getLogger() - .warn("Unable to copy resource " + resource + " to " + destination, exception); + .warn("Unable to copy resource {} to {}", resource, destination, exception); return false; } } diff --git a/src/main/java/emu/grasscutter/utils/lang/Language.java b/src/main/java/emu/grasscutter/utils/lang/Language.java index 8e64dc98a..e079dfa60 100644 --- a/src/main/java/emu/grasscutter/utils/lang/Language.java +++ b/src/main/java/emu/grasscutter/utils/lang/Language.java @@ -44,7 +44,7 @@ public final class Language { .forEach(entry -> putFlattenedKey(translations, entry.getKey(), entry.getValue())); } catch (Exception exception) { Grasscutter.getLogger() - .warn("Failed to load language file: " + description.getLanguageCode(), exception); + .warn("Failed to load language file: {}", description.getLanguageCode(), exception); } } @@ -99,7 +99,7 @@ public final class Language { try { return translated.formatted(args); } catch (Exception exception) { - Grasscutter.getLogger().error("Failed to format string: " + key, exception); + Grasscutter.getLogger().error("Failed to format string: {}", key, exception); return translated; } } @@ -134,7 +134,7 @@ public final class Language { try { return translated.formatted(args); } catch (Exception exception) { - Grasscutter.getLogger().error("Failed to format string: " + key, exception); + Grasscutter.getLogger().error("Failed to format string: {}", key, exception); return translated; } } @@ -194,7 +194,7 @@ public final class Language { if (file == null) { // Provided fallback language. Grasscutter.getLogger() - .warn("Failed to load language file: " + fileName + ", falling back to: " + fallback); + .warn("Failed to load language file: {}, falling back to: {}", fileName, fallback); actualLanguageCode = fallbackLanguageCode; if (cachedLanguages.containsKey(actualLanguageCode)) { return new LanguageStreamDescription(actualLanguageCode, null); @@ -205,7 +205,7 @@ public final class Language { if (file == null) { // Fallback the fallback language. Grasscutter.getLogger() - .warn("Failed to load language file: " + fallback + ", falling back to: en-US.json"); + .warn("Failed to load language file: {}, falling back to: en-US.json", fallback); actualLanguageCode = "en-US"; if (cachedLanguages.containsKey(actualLanguageCode)) { return new LanguageStreamDescription(actualLanguageCode, null); @@ -241,7 +241,7 @@ public final class Language { m -> (int) Long.parseLong(m.group(1)), m -> m.group(2).replace("\\\"", "\"")))); } catch (Exception e) { - Grasscutter.getLogger().error("Error loading textmap: " + language); + Grasscutter.getLogger().error("Error loading textmap: {}", language); Grasscutter.getLogger().error(e.toString()); } return output; @@ -361,7 +361,7 @@ public final class Language { } catch (NoSuchFileException ignored) { // Cache doesn't exist, generate it. } catch (Exception exception) { - Grasscutter.getLogger().error("Error loading textmaps cache: " + exception); + Grasscutter.getLogger().error("Error loading textmaps cache: {}", exception); } // Regenerate cache