Added logger class that takes variables and replaces % with them

This commit is contained in:
stjn
2021-11-03 16:54:12 +01:00
parent f09061f6b6
commit 784cf905fb
8 changed files with 66 additions and 21 deletions
@@ -1,6 +1,7 @@
package com.alttd.config;
import com.alttd.VillagerUI;
import com.alttd.util.Logger;
import com.google.common.collect.ImmutableMap;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.InvalidConfigurationException;
@@ -16,13 +17,11 @@ import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@SuppressWarnings({"unused", "SameParameterValue"})
abstract class AbstractConfig {
File file;
YamlConfiguration yaml;
Logger logger;
AbstractConfig(String filename) {
init(new File(VillagerUI.getInstance().getDataFolder(), filename), filename);
@@ -35,12 +34,11 @@ abstract class AbstractConfig {
private void init(File file, String filename) {
this.file = file;
this.yaml = new YamlConfiguration();
this.logger = VillagerUI.getInstance().getLogger();
try {
yaml.load(file);
} catch (IOException ignore) {
} catch (InvalidConfigurationException ex) {
logger.severe(String.format("Could not load %s, please correct your syntax errors", filename));
Logger.severe(String.format("Could not load %s, please correct your syntax errors", filename));
throw new RuntimeException(ex);
}
yaml.options().copyDefaults(true);
@@ -56,7 +54,7 @@ abstract class AbstractConfig {
} catch (InvocationTargetException ex) {
throw new RuntimeException(ex.getCause());
} catch (Exception ex) {
logger.severe("Error invoking " + method);
Logger.severe("Error invoking %.", method.toString());
ex.printStackTrace();
}
}
@@ -70,7 +68,7 @@ abstract class AbstractConfig {
try {
yaml.save(file);
} catch (IOException ex) {
logger.severe("Could not save " + file);
Logger.severe("Could not save %.", file.toString());
ex.printStackTrace();
}
}
+4 -3
View File
@@ -2,6 +2,7 @@ package com.alttd.config;
import com.alttd.VillagerUI;
import com.alttd.objects.VillagerType;
import com.alttd.util.Logger;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.ItemStack;
@@ -83,13 +84,13 @@ public final class Config extends AbstractConfig {
VillagerType.clearVillagerTypes();
ConfigurationSection configurationSection = config.getConfigurationSection("villager-types");
if (configurationSection == null) {
VillagerUI.getInstance().getLogger().warning("No villager types found in config.");
Logger.warning("No villager types found in config.");
return;
}
Set<String> keys = configurationSection.getKeys(false);
if (keys.isEmpty())
VillagerUI.getInstance().getLogger().warning("No villager types found in config.");
Logger.warning("No villager types found in config.");
keys.forEach(key -> {
ConfigurationSection villagerType = configurationSection.getConfigurationSection(key);
@@ -114,7 +115,7 @@ public final class Config extends AbstractConfig {
productsSection.getKeys(false).forEach(item -> {
Material material = Material.getMaterial(item);
if (material == null) {
VillagerUI.getInstance().getLogger().warning("Invalid key in products -> " + item);
Logger.warning("Invalid key in products -> " + item);
return;
}
products.add(new ItemStack(material, productsSection.getInt(item)));
@@ -3,6 +3,7 @@ package com.alttd.config;
import com.alttd.VillagerUI;
import com.alttd.objects.LoadedVillagers;
import com.alttd.objects.VillagerType;
import com.alttd.util.Logger;
import org.bukkit.configuration.ConfigurationSection;
import java.util.Set;
@@ -33,7 +34,7 @@ public class VillagerConfig extends AbstractConfig {
if (villagerType != null)
LoadedVillagers.addLoadedVillager(UUID.fromString(key), villagerType);
else
VillagerUI.getInstance().getLogger().warning("Invalid config entry " + key + ".");
Logger.warning("Invalid config entry %.", key);
});
}
@@ -2,6 +2,7 @@ package com.alttd.config;
import com.alttd.VillagerUI;
import com.alttd.objects.Price;
import com.alttd.util.Logger;
import com.alttd.util.Utilities;
import it.unimi.dsi.fastutil.objects.Object2DoubleMap;
import it.unimi.dsi.fastutil.objects.Object2DoubleOpenHashMap;
@@ -42,7 +43,7 @@ public class WorthConfig extends AbstractConfig {
for (String key : materials) {
Material material = Material.getMaterial(key);
if (material == null) {
VillagerUI.getInstance().getLogger().warning("Invalid key in worth.yml -> " + key);
Logger.warning("Invalid key in worth.yml: %.", key);
continue;
}
prices.put(Material.getMaterial(key), new Price(Utilities.round(pointSection.getDouble(key), 2), Integer.parseInt(point)));