Commit 91f621aecc5766c6bf7f6456e4a15a35ed695687
1 parent
d71dab5e
add verbosity levels to logger to support reduced log output on server
Showing
14 changed files
with
125 additions
and
51 deletions
java/common/com/mumfrey/liteloader/api/manager/APIRegistry.java
@@ -14,6 +14,7 @@ import com.mumfrey.liteloader.api.exceptions.InvalidAPIStateException; | @@ -14,6 +14,7 @@ import com.mumfrey.liteloader.api.exceptions.InvalidAPIStateException; | ||
14 | import com.mumfrey.liteloader.launch.LoaderEnvironment; | 14 | import com.mumfrey.liteloader.launch.LoaderEnvironment; |
15 | import com.mumfrey.liteloader.launch.LoaderProperties; | 15 | import com.mumfrey.liteloader.launch.LoaderProperties; |
16 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 16 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
17 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
17 | 18 | ||
18 | /** | 19 | /** |
19 | * This is where we register API classes during early startup before baking the registered list into an | 20 | * This is where we register API classes during early startup before baking the registered list into an |
@@ -56,7 +57,7 @@ public final class APIRegistry | @@ -56,7 +57,7 @@ public final class APIRegistry | ||
56 | 57 | ||
57 | if (!this.registeredAPIClasses.contains(apiClass)) | 58 | if (!this.registeredAPIClasses.contains(apiClass)) |
58 | { | 59 | { |
59 | - LiteLoaderLogger.info("Registering API provider class %s", apiClass); | 60 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Registering API provider class %s", apiClass); |
60 | this.registeredAPIClasses.add(apiClass); | 61 | this.registeredAPIClasses.add(apiClass); |
61 | } | 62 | } |
62 | } | 63 | } |
@@ -86,7 +87,7 @@ public final class APIRegistry | @@ -86,7 +87,7 @@ public final class APIRegistry | ||
86 | 87 | ||
87 | if (!this.instances.containsKey(identifier)) | 88 | if (!this.instances.containsKey(identifier)) |
88 | { | 89 | { |
89 | - LiteLoaderLogger.info("API provider class '%s' provides API '%s'", apiClassName, identifier); | 90 | + LiteLoaderLogger.info(Verbosity.REDUCED, "API provider class '%s' provides API '%s'", apiClassName, identifier); |
90 | this.instances.put(identifier, api); | 91 | this.instances.put(identifier, api); |
91 | return api; | 92 | return api; |
92 | } | 93 | } |
@@ -124,7 +125,7 @@ public final class APIRegistry | @@ -124,7 +125,7 @@ public final class APIRegistry | ||
124 | 125 | ||
125 | for (LiteAPI api : allAPIs) | 126 | for (LiteAPI api : allAPIs) |
126 | { | 127 | { |
127 | - LiteLoaderLogger.info("Initialising API '%s' ...", api.getIdentifier()); | 128 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Initialising API '%s' ...", api.getIdentifier()); |
128 | api.init(this.environment, this.properties); | 129 | api.init(this.environment, this.properties); |
129 | } | 130 | } |
130 | 131 |
java/common/com/mumfrey/liteloader/core/LiteLoader.java
@@ -53,6 +53,7 @@ import com.mumfrey.liteloader.permissions.PermissionsManagerServer; | @@ -53,6 +53,7 @@ import com.mumfrey.liteloader.permissions.PermissionsManagerServer; | ||
53 | import com.mumfrey.liteloader.transformers.event.EventTransformer; | 53 | import com.mumfrey.liteloader.transformers.event.EventTransformer; |
54 | import com.mumfrey.liteloader.util.Input; | 54 | import com.mumfrey.liteloader.util.Input; |
55 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 55 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
56 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
56 | 57 | ||
57 | /** | 58 | /** |
58 | * LiteLoader is a simple loader which loads and provides useful callbacks to | 59 | * LiteLoader is a simple loader which loads and provides useful callbacks to |
@@ -817,7 +818,7 @@ public final class LiteLoader | @@ -817,7 +818,7 @@ public final class LiteLoader | ||
817 | { | 818 | { |
818 | int totalMods = this.enumerator.modsToLoadCount(); | 819 | int totalMods = this.enumerator.modsToLoadCount(); |
819 | int totalTweaks = this.enumerator.getInjectedTweaks().size(); | 820 | int totalTweaks = this.enumerator.getInjectedTweaks().size(); |
820 | - LiteLoaderLogger.info("Discovered %d total mod(s), injected %d tweak(s)", totalMods, totalTweaks); | 821 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Discovered %d total mod(s), injected %d tweak(s)", totalMods, totalTweaks); |
821 | 822 | ||
822 | if (totalMods > 0) | 823 | if (totalMods > 0) |
823 | { | 824 | { |
@@ -826,7 +827,7 @@ public final class LiteLoader | @@ -826,7 +827,7 @@ public final class LiteLoader | ||
826 | } | 827 | } |
827 | else | 828 | else |
828 | { | 829 | { |
829 | - LiteLoaderLogger.info("No mod classes were found. Not loading any mods."); | 830 | + LiteLoaderLogger.info(Verbosity.REDUCED, "No mod classes were found. Not loading any mods."); |
830 | } | 831 | } |
831 | 832 | ||
832 | // Initialises the required hooks for loaded mods | 833 | // Initialises the required hooks for loaded mods |
@@ -939,7 +940,7 @@ public final class LiteLoader | @@ -939,7 +940,7 @@ public final class LiteLoader | ||
939 | 940 | ||
940 | private void onShutDown() | 941 | private void onShutDown() |
941 | { | 942 | { |
942 | - LiteLoaderLogger.info("LiteLoader is shutting down, shutting down core providers and syncing configuration"); | 943 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader is shutting down, shutting down core providers and syncing configuration"); |
943 | 944 | ||
944 | this.shutdownObservers.all().onShutDown(); | 945 | this.shutdownObservers.all().onShutDown(); |
945 | 946 | ||
@@ -991,14 +992,14 @@ public final class LiteLoader | @@ -991,14 +992,14 @@ public final class LiteLoader | ||
991 | 992 | ||
992 | static final void invokeInit() | 993 | static final void invokeInit() |
993 | { | 994 | { |
994 | - LiteLoaderLogger.info("LiteLoader begin INIT..."); | 995 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader begin INIT..."); |
995 | 996 | ||
996 | LiteLoader.instance.onInit(); | 997 | LiteLoader.instance.onInit(); |
997 | } | 998 | } |
998 | 999 | ||
999 | static final void invokePostInit() | 1000 | static final void invokePostInit() |
1000 | { | 1001 | { |
1001 | - LiteLoaderLogger.info("LiteLoader begin POSTINIT..."); | 1002 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader begin POSTINIT..."); |
1002 | 1003 | ||
1003 | LiteLoader.instance.onPostInit(); | 1004 | LiteLoader.instance.onPostInit(); |
1004 | } | 1005 | } |
java/common/com/mumfrey/liteloader/core/LiteLoaderBootstrap.java
@@ -32,6 +32,7 @@ import com.mumfrey.liteloader.launch.LoaderEnvironment; | @@ -32,6 +32,7 @@ import com.mumfrey.liteloader.launch.LoaderEnvironment; | ||
32 | import com.mumfrey.liteloader.launch.LoaderProperties; | 32 | import com.mumfrey.liteloader.launch.LoaderProperties; |
33 | import com.mumfrey.liteloader.launch.StartupEnvironment; | 33 | import com.mumfrey.liteloader.launch.StartupEnvironment; |
34 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 34 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
35 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
35 | 36 | ||
36 | /** | 37 | /** |
37 | * LiteLoaderBootstrap is responsible for managing the early part of the LiteLoader startup process, this is | 38 | * LiteLoaderBootstrap is responsible for managing the early part of the LiteLoader startup process, this is |
@@ -272,20 +273,20 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP | @@ -272,20 +273,20 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP | ||
272 | this.classLoader = classLoader; | 273 | this.classLoader = classLoader; |
273 | this.loadTweaks = loadTweaks; | 274 | this.loadTweaks = loadTweaks; |
274 | 275 | ||
275 | - LiteLoaderLogger.info("LiteLoader begin PREINIT..."); | 276 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader begin PREINIT..."); |
276 | 277 | ||
277 | // Set up the bootstrap | 278 | // Set up the bootstrap |
278 | if (!this.prepare()) return; | 279 | if (!this.prepare()) return; |
279 | 280 | ||
280 | - LiteLoaderLogger.info("LiteLoader %s starting up...", LiteLoaderVersion.CURRENT.getLoaderVersion()); | 281 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader %s starting up...", LiteLoaderVersion.CURRENT.getLoaderVersion()); |
281 | 282 | ||
282 | // Print the branding version if any was provided | 283 | // Print the branding version if any was provided |
283 | if (this.branding != null) | 284 | if (this.branding != null) |
284 | { | 285 | { |
285 | - LiteLoaderLogger.info("Active Pack: %s", this.branding); | 286 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Active Pack: %s", this.branding); |
286 | } | 287 | } |
287 | 288 | ||
288 | - LiteLoaderLogger.info("Java reports OS=\"%s\"", System.getProperty("os.name").toLowerCase()); | 289 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Java reports OS=\"%s\"", System.getProperty("os.name").toLowerCase()); |
289 | 290 | ||
290 | this.enabledModsList = EnabledModsList.createFrom(this.enabledModsFile); | 291 | this.enabledModsList = EnabledModsList.createFrom(this.enabledModsFile); |
291 | this.enabledModsList.processModsList(this.profile, modsToLoad); | 292 | this.enabledModsList.processModsList(this.profile, modsToLoad); |
@@ -293,7 +294,7 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP | @@ -293,7 +294,7 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP | ||
293 | this.enumerator = this.spawnEnumerator(classLoader); | 294 | this.enumerator = this.spawnEnumerator(classLoader); |
294 | this.enumerator.onPreInit(); | 295 | this.enumerator.onPreInit(); |
295 | 296 | ||
296 | - LiteLoaderLogger.info("LiteLoader PREINIT complete"); | 297 | + LiteLoaderLogger.info(Verbosity.REDUCED, "LiteLoader PREINIT complete"); |
297 | } | 298 | } |
298 | 299 | ||
299 | /** | 300 | /** |
java/common/com/mumfrey/liteloader/core/LiteLoaderEnumerator.java
@@ -34,6 +34,7 @@ import com.mumfrey.liteloader.launch.LiteLoaderTweaker; | @@ -34,6 +34,7 @@ import com.mumfrey.liteloader.launch.LiteLoaderTweaker; | ||
34 | import com.mumfrey.liteloader.launch.LoaderEnvironment; | 34 | import com.mumfrey.liteloader.launch.LoaderEnvironment; |
35 | import com.mumfrey.liteloader.launch.LoaderProperties; | 35 | import com.mumfrey.liteloader.launch.LoaderProperties; |
36 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 36 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
37 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
37 | 38 | ||
38 | /** | 39 | /** |
39 | * The enumerator performs all mod discovery functions for LiteLoader, this includes locating mod files to load | 40 | * The enumerator performs all mod discovery functions for LiteLoader, this includes locating mod files to load |
@@ -521,7 +522,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -521,7 +522,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
521 | { | 522 | { |
522 | this.checkState(EnumeratorState.DISCOVER, "registerDisabledContainer"); | 523 | this.checkState(EnumeratorState.DISCOVER, "registerDisabledContainer"); |
523 | 524 | ||
524 | - LiteLoaderLogger.info(reason.getMessage(container)); | 525 | + LiteLoaderLogger.info(Verbosity.REDUCED, reason.getMessage(container)); |
525 | 526 | ||
526 | this.enabledContainers.remove(container.getIdentifier()); | 527 | this.enabledContainers.remove(container.getIdentifier()); |
527 | this.disabledContainers.put(container.getIdentifier(), new NonMod(container, false)); | 528 | this.disabledContainers.put(container.getIdentifier(), new NonMod(container, false)); |
@@ -539,7 +540,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -539,7 +540,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
539 | 540 | ||
540 | if (!container.isEnabled(this.environment)) | 541 | if (!container.isEnabled(this.environment)) |
541 | { | 542 | { |
542 | - LiteLoaderLogger.info("Mod %s is disabled for profile %s, not injecting tranformers", container.getIdentifier(), this.environment.getProfile()); | 543 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Mod %s is disabled for profile %s, not injecting tranformers", container.getIdentifier(), this.environment.getProfile()); |
543 | return false; | 544 | return false; |
544 | } | 545 | } |
545 | 546 | ||
@@ -575,10 +576,10 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -575,10 +576,10 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
575 | { | 576 | { |
576 | String tweakClass = container.getTweakClassName(); | 577 | String tweakClass = container.getTweakClassName(); |
577 | int tweakPriority = container.getTweakPriority(); | 578 | int tweakPriority = container.getTweakPriority(); |
578 | - LiteLoaderLogger.info("Mod file '%s' provides tweakClass '%s', adding to Launch queue with priority %d", container.getName(), tweakClass, tweakPriority); | 579 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Mod file '%s' provides tweakClass '%s', adding to Launch queue with priority %d", container.getName(), tweakClass, tweakPriority); |
579 | if (this.tweaker.addCascadedTweaker(tweakClass, tweakPriority)) | 580 | if (this.tweaker.addCascadedTweaker(tweakClass, tweakPriority)) |
580 | { | 581 | { |
581 | - LiteLoaderLogger.info("tweakClass '%s' was successfully added", tweakClass); | 582 | + LiteLoaderLogger.info(Verbosity.REDUCED, "tweakClass '%s' was successfully added", tweakClass); |
582 | container.injectIntoClassPath(this.classLoader, true); | 583 | container.injectIntoClassPath(this.classLoader, true); |
583 | 584 | ||
584 | if (container.isExternalJar()) | 585 | if (container.isExternalJar()) |
@@ -616,10 +617,10 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -616,10 +617,10 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
616 | { | 617 | { |
617 | for (String classTransformerClass : classTransformerClasses) | 618 | for (String classTransformerClass : classTransformerClasses) |
618 | { | 619 | { |
619 | - LiteLoaderLogger.info("Mod file '%s' provides classTransformer '%s', adding to class loader", container.getName(), classTransformerClass); | 620 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Mod file '%s' provides classTransformer '%s', adding to class loader", container.getName(), classTransformerClass); |
620 | if (this.tweaker.getTransformerManager().injectTransformer(classTransformerClass)) | 621 | if (this.tweaker.getTransformerManager().injectTransformer(classTransformerClass)) |
621 | { | 622 | { |
622 | - LiteLoaderLogger.info("classTransformer '%s' was successfully added", classTransformerClass); | 623 | + LiteLoaderLogger.info(Verbosity.REDUCED, "classTransformer '%s' was successfully added", classTransformerClass); |
623 | container.injectIntoClassPath(this.classLoader, true); | 624 | container.injectIntoClassPath(this.classLoader, true); |
624 | } | 625 | } |
625 | } | 626 | } |
@@ -711,7 +712,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -711,7 +712,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
711 | catch (OutdatedLoaderException ex) | 712 | catch (OutdatedLoaderException ex) |
712 | { | 713 | { |
713 | classes.clear(); | 714 | classes.clear(); |
714 | - LiteLoaderLogger.info("Error searching in '%s', missing API component '%s', your loader is probably out of date", container, ex.getMessage()); | 715 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Error searching in '%s', missing API component '%s', your loader is probably out of date", container, ex.getMessage()); |
715 | } | 716 | } |
716 | catch (Throwable th) | 717 | catch (Throwable th) |
717 | { | 718 | { |
@@ -868,7 +869,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | @@ -868,7 +869,7 @@ public class LiteLoaderEnumerator implements LoaderEnumerator | ||
868 | circularDependencySet.add(base.getIdentifier()); | 869 | circularDependencySet.add(base.getIdentifier()); |
869 | 870 | ||
870 | boolean result = this.checkDependencies(base, base, circularDependencySet); | 871 | boolean result = this.checkDependencies(base, base, circularDependencySet); |
871 | - LiteLoaderLogger.info("Dependency check for %s %s", base.getIdentifier(), result ? "passed" : "failed"); | 872 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Dependency check for %s %s", base.getIdentifier(), result ? "passed" : "failed"); |
872 | 873 | ||
873 | return result; | 874 | return result; |
874 | } | 875 | } |
java/common/com/mumfrey/liteloader/core/LiteLoaderInterfaceManager.java
@@ -18,6 +18,7 @@ import com.mumfrey.liteloader.core.event.HandlerList; | @@ -18,6 +18,7 @@ import com.mumfrey.liteloader.core.event.HandlerList; | ||
18 | import com.mumfrey.liteloader.interfaces.FastIterable; | 18 | import com.mumfrey.liteloader.interfaces.FastIterable; |
19 | import com.mumfrey.liteloader.interfaces.InterfaceRegistry; | 19 | import com.mumfrey.liteloader.interfaces.InterfaceRegistry; |
20 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 20 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
21 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
21 | 22 | ||
22 | /** | 23 | /** |
23 | * The interface manager handles the allocation of interface consumers (implementors) to interface providers. During | 24 | * The interface manager handles the allocation of interface consumers (implementors) to interface providers. During |
@@ -247,7 +248,7 @@ public class LiteLoaderInterfaceManager implements InterfaceRegistry | @@ -247,7 +248,7 @@ public class LiteLoaderInterfaceManager implements InterfaceRegistry | ||
247 | { | 248 | { |
248 | for (InterfaceProvider provider : apiInterfaceProviders) | 249 | for (InterfaceProvider provider : apiInterfaceProviders) |
249 | { | 250 | { |
250 | - LiteLoaderLogger.info("Registering interface provider %s for API %s", provider.getClass().getName(), api.getName()); | 251 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Registering interface provider %s for API %s", provider.getClass().getName(), api.getName()); |
251 | if (this.registerProvider(provider)) | 252 | if (this.registerProvider(provider)) |
252 | { | 253 | { |
253 | this.providerToAPIMap.put(provider, api); | 254 | this.providerToAPIMap.put(provider, api); |
java/common/com/mumfrey/liteloader/core/LiteLoaderMods.java
@@ -25,6 +25,7 @@ import com.mumfrey.liteloader.launch.LoaderProperties; | @@ -25,6 +25,7 @@ import com.mumfrey.liteloader.launch.LoaderProperties; | ||
25 | import com.mumfrey.liteloader.modconfig.ConfigManager; | 25 | import com.mumfrey.liteloader.modconfig.ConfigManager; |
26 | import com.mumfrey.liteloader.modconfig.ConfigStrategy; | 26 | import com.mumfrey.liteloader.modconfig.ConfigStrategy; |
27 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 27 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
28 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
28 | 29 | ||
29 | /** | 30 | /** |
30 | * Separated from the core loader class for encapsulation purposes | 31 | * Separated from the core loader class for encapsulation purposes |
@@ -478,7 +479,7 @@ public class LiteLoaderMods | @@ -478,7 +479,7 @@ public class LiteLoaderMods | ||
478 | */ | 479 | */ |
479 | void loadMod(Mod mod) throws InstantiationException, IllegalAccessException | 480 | void loadMod(Mod mod) throws InstantiationException, IllegalAccessException |
480 | { | 481 | { |
481 | - LiteLoaderLogger.info("Loading mod from %s", mod.getModClassName()); | 482 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Loading mod from %s", mod.getModClassName()); |
482 | 483 | ||
483 | LiteMod newMod = mod.newInstance(); | 484 | LiteMod newMod = mod.newInstance(); |
484 | 485 | ||
@@ -559,7 +560,7 @@ public class LiteLoaderMods | @@ -559,7 +560,7 @@ public class LiteLoaderMods | ||
559 | { | 560 | { |
560 | LiteMod instance = mod.getMod(); | 561 | LiteMod instance = mod.getMod(); |
561 | 562 | ||
562 | - LiteLoaderLogger.info("Initialising mod %s version %s", instance.getName(), instance.getVersion()); | 563 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Initialising mod %s version %s", instance.getName(), instance.getVersion()); |
563 | LoadingProgress.incLiteLoaderProgress("Initialising mod %s version %s...", instance.getName(), instance.getVersion()); | 564 | LoadingProgress.incLiteLoaderProgress("Initialising mod %s version %s...", instance.getName(), instance.getVersion()); |
564 | 565 | ||
565 | this.onPreInitMod(instance); | 566 | this.onPreInitMod(instance); |
java/common/com/mumfrey/liteloader/core/api/EnumeratorModuleClassPath.java
@@ -13,6 +13,7 @@ import com.mumfrey.liteloader.interfaces.ModularEnumerator; | @@ -13,6 +13,7 @@ import com.mumfrey.liteloader.interfaces.ModularEnumerator; | ||
13 | import com.mumfrey.liteloader.launch.LoaderEnvironment; | 13 | import com.mumfrey.liteloader.launch.LoaderEnvironment; |
14 | import com.mumfrey.liteloader.launch.LoaderProperties; | 14 | import com.mumfrey.liteloader.launch.LoaderProperties; |
15 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 15 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
16 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
16 | 17 | ||
17 | /** | 18 | /** |
18 | * Enumerator module which searches for mods on the classpath | 19 | * Enumerator module which searches for mods on the classpath |
@@ -97,7 +98,7 @@ public class EnumeratorModuleClassPath implements EnumeratorModule | @@ -97,7 +98,7 @@ public class EnumeratorModuleClassPath implements EnumeratorModule | ||
97 | } | 98 | } |
98 | else | 99 | else |
99 | { | 100 | { |
100 | - LiteLoaderLogger.info("Mod %s is disabled or missing a required dependency, not injecting tranformers", classPathMod.getIdentifier()); | 101 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Mod %s is disabled or missing a required dependency, not injecting tranformers", classPathMod.getIdentifier()); |
101 | } | 102 | } |
102 | } | 103 | } |
103 | } | 104 | } |
@@ -120,7 +121,7 @@ public class EnumeratorModuleClassPath implements EnumeratorModule | @@ -120,7 +121,7 @@ public class EnumeratorModuleClassPath implements EnumeratorModule | ||
120 | @Override | 121 | @Override |
121 | public void registerMods(ModularEnumerator enumerator, LaunchClassLoader classLoader) | 122 | public void registerMods(ModularEnumerator enumerator, LaunchClassLoader classLoader) |
122 | { | 123 | { |
123 | - LiteLoaderLogger.info("Discovering mods on class path..."); | 124 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Discovering mods on class path..."); |
124 | LoadingProgress.incTotalLiteLoaderProgress(this.loadableMods.size()); | 125 | LoadingProgress.incTotalLiteLoaderProgress(this.loadableMods.size()); |
125 | 126 | ||
126 | for (LoadableMod<File> classPathMod : this.loadableMods) | 127 | for (LoadableMod<File> classPathMod : this.loadableMods) |
java/common/com/mumfrey/liteloader/core/api/EnumeratorModuleFolder.java
@@ -24,6 +24,7 @@ import com.mumfrey.liteloader.interfaces.TweakContainer; | @@ -24,6 +24,7 @@ import com.mumfrey.liteloader.interfaces.TweakContainer; | ||
24 | import com.mumfrey.liteloader.launch.LoaderEnvironment; | 24 | import com.mumfrey.liteloader.launch.LoaderEnvironment; |
25 | import com.mumfrey.liteloader.launch.LoaderProperties; | 25 | import com.mumfrey.liteloader.launch.LoaderProperties; |
26 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 26 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
27 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
27 | 28 | ||
28 | /** | 29 | /** |
29 | * Enumerator module which searches for mods and tweaks in a folder | 30 | * Enumerator module which searches for mods and tweaks in a folder |
@@ -296,7 +297,7 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | @@ -296,7 +297,7 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | ||
296 | } | 297 | } |
297 | else | 298 | else |
298 | { | 299 | { |
299 | - LiteLoaderLogger.info("Not adding invalid or version-mismatched mod file: %s", modFile); | 300 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Not adding invalid or version-mismatched mod file: %s", modFile); |
300 | enumerator.registerBadContainer(modFile, "Version not supported"); | 301 | enumerator.registerBadContainer(modFile, "Version not supported"); |
301 | } | 302 | } |
302 | } | 303 | } |
@@ -335,12 +336,12 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | @@ -335,12 +336,12 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | ||
335 | { | 336 | { |
336 | if (enumerator.registerModContainer(modFile)) | 337 | if (enumerator.registerModContainer(modFile)) |
337 | { | 338 | { |
338 | - LiteLoaderLogger.info("Adding newest valid mod file '%s' at revision %.4f", modFile, modFile.getRevision()); | 339 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Adding newest valid mod file '%s' at revision %.4f", modFile, modFile.getRevision()); |
339 | this.loadableMods.add(modFile); | 340 | this.loadableMods.add(modFile); |
340 | } | 341 | } |
341 | else | 342 | else |
342 | { | 343 | { |
343 | - LiteLoaderLogger.info("Not adding valid mod file '%s', the specified mod is disabled or missing a required dependency", modFile); | 344 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Not adding valid mod file '%s', the specified mod is disabled or missing a required dependency", modFile); |
344 | } | 345 | } |
345 | 346 | ||
346 | if (this.loadTweaks) | 347 | if (this.loadTweaks) |
@@ -383,7 +384,7 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | @@ -383,7 +384,7 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule | ||
383 | @Override | 384 | @Override |
384 | public void registerMods(ModularEnumerator enumerator, LaunchClassLoader classLoader) | 385 | public void registerMods(ModularEnumerator enumerator, LaunchClassLoader classLoader) |
385 | { | 386 | { |
386 | - LiteLoaderLogger.info("Discovering mods in valid mod files..."); | 387 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Discovering mods in valid mod files..."); |
387 | LoadingProgress.incTotalLiteLoaderProgress(this.loadableMods.size()); | 388 | LoadingProgress.incTotalLiteLoaderProgress(this.loadableMods.size()); |
388 | 389 | ||
389 | for (LoadableMod<?> modFile : this.loadableMods) | 390 | for (LoadableMod<?> modFile : this.loadableMods) |
java/common/com/mumfrey/liteloader/launch/ClassTransformerManager.java
@@ -12,6 +12,7 @@ import net.minecraft.launchwrapper.LaunchClassLoader; | @@ -12,6 +12,7 @@ import net.minecraft.launchwrapper.LaunchClassLoader; | ||
12 | import net.minecraft.launchwrapper.LogWrapper; | 12 | import net.minecraft.launchwrapper.LogWrapper; |
13 | 13 | ||
14 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 14 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
15 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
15 | 16 | ||
16 | /** | 17 | /** |
17 | * Manages injection of required and optional transformers | 18 | * Manages injection of required and optional transformers |
@@ -141,7 +142,7 @@ public class ClassTransformerManager | @@ -141,7 +142,7 @@ public class ClassTransformerManager | ||
141 | { | 142 | { |
142 | for (String requiredTransformerClassName : this.requiredTransformers) | 143 | for (String requiredTransformerClassName : this.requiredTransformers) |
143 | { | 144 | { |
144 | - LiteLoaderLogger.info("Injecting required class transformer '%s'", requiredTransformerClassName); | 145 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Injecting required class transformer '%s'", requiredTransformerClassName); |
145 | this.injectTransformer(classLoader, requiredTransformerClassName); | 146 | this.injectTransformer(classLoader, requiredTransformerClassName); |
146 | } | 147 | } |
147 | } | 148 | } |
@@ -158,7 +159,7 @@ public class ClassTransformerManager | @@ -158,7 +159,7 @@ public class ClassTransformerManager | ||
158 | 159 | ||
159 | for (String transformerClassName : this.downstreamTransformers) | 160 | for (String transformerClassName : this.downstreamTransformers) |
160 | { | 161 | { |
161 | - LiteLoaderLogger.info("Injecting additional class transformer class '%s'", transformerClassName); | 162 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Injecting additional class transformer class '%s'", transformerClassName); |
162 | this.injectTransformer(classLoader, transformerClassName); | 163 | this.injectTransformer(classLoader, transformerClassName); |
163 | } | 164 | } |
164 | 165 |
java/common/com/mumfrey/liteloader/launch/LiteLoaderTweaker.java
@@ -17,6 +17,7 @@ import net.minecraft.launchwrapper.LaunchClassLoader; | @@ -17,6 +17,7 @@ import net.minecraft.launchwrapper.LaunchClassLoader; | ||
17 | import com.mumfrey.liteloader.transformers.event.EventInfo; | 17 | import com.mumfrey.liteloader.transformers.event.EventInfo; |
18 | import com.mumfrey.liteloader.util.SortableValue; | 18 | import com.mumfrey.liteloader.util.SortableValue; |
19 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 19 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
20 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
20 | 21 | ||
21 | /** | 22 | /** |
22 | * LiteLoader tweak class | 23 | * LiteLoader tweak class |
@@ -283,7 +284,7 @@ public class LiteLoaderTweaker implements ITweaker | @@ -283,7 +284,7 @@ public class LiteLoaderTweaker implements ITweaker | ||
283 | */ | 284 | */ |
284 | private void onPrepare(List<String> args, File gameDirectory, File assetsDirectory, String profile) | 285 | private void onPrepare(List<String> args, File gameDirectory, File assetsDirectory, String profile) |
285 | { | 286 | { |
286 | - LiteLoaderLogger.info("Bootstrapping LiteLoader " + LiteLoaderTweaker.VERSION); | 287 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Bootstrapping LiteLoader " + LiteLoaderTweaker.VERSION); |
287 | 288 | ||
288 | try | 289 | try |
289 | { | 290 | { |
@@ -422,7 +423,7 @@ public class LiteLoaderTweaker implements ITweaker | @@ -422,7 +423,7 @@ public class LiteLoaderTweaker implements ITweaker | ||
422 | for (SortableValue<String> tweak : this.sortedCascadingTweaks) | 423 | for (SortableValue<String> tweak : this.sortedCascadingTweaks) |
423 | { | 424 | { |
424 | String tweakClass = tweak.getValue(); | 425 | String tweakClass = tweak.getValue(); |
425 | - LiteLoaderLogger.info("Injecting tweak class %s with priority %d", tweakClass, tweak.getPriority()); | 426 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Injecting tweak class %s with priority %d", tweakClass, tweak.getPriority()); |
426 | this.injectTweakClass(tweakClass, tweakClasses, tweakers); | 427 | this.injectTweakClass(tweakClass, tweakClasses, tweakers); |
427 | } | 428 | } |
428 | } | 429 | } |
java/common/com/mumfrey/liteloader/launch/LiteLoaderTweakerServer.java
@@ -3,8 +3,16 @@ package com.mumfrey.liteloader.launch; | @@ -3,8 +3,16 @@ package com.mumfrey.liteloader.launch; | ||
3 | import java.io.File; | 3 | import java.io.File; |
4 | import java.util.List; | 4 | import java.util.List; |
5 | 5 | ||
6 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | ||
7 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
8 | + | ||
6 | public class LiteLoaderTweakerServer extends LiteLoaderTweaker | 9 | public class LiteLoaderTweakerServer extends LiteLoaderTweaker |
7 | { | 10 | { |
11 | + public LiteLoaderTweakerServer() | ||
12 | + { | ||
13 | + LiteLoaderLogger.verbosity = Verbosity.REDUCED; | ||
14 | + } | ||
15 | + | ||
8 | @Override | 16 | @Override |
9 | protected StartupEnvironment spawnStartupEnvironment(List<String> args, File gameDirectory, File assetsDirectory, String profile) | 17 | protected StartupEnvironment spawnStartupEnvironment(List<String> args, File gameDirectory, File assetsDirectory, String profile) |
10 | { | 18 | { |
java/common/com/mumfrey/liteloader/transformers/event/EventTransformer.java
@@ -27,6 +27,7 @@ import com.mumfrey.liteloader.transformers.ClassTransformer; | @@ -27,6 +27,7 @@ import com.mumfrey.liteloader.transformers.ClassTransformer; | ||
27 | import com.mumfrey.liteloader.transformers.ObfProvider; | 27 | import com.mumfrey.liteloader.transformers.ObfProvider; |
28 | import com.mumfrey.liteloader.transformers.access.AccessorTransformer; | 28 | import com.mumfrey.liteloader.transformers.access.AccessorTransformer; |
29 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 29 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
30 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
30 | 31 | ||
31 | /** | 32 | /** |
32 | * EventTransformer is the spiritual successor to the CallbackInjectionTransformer and is a more advanced and flexible | 33 | * EventTransformer is the spiritual successor to the CallbackInjectionTransformer and is a more advanced and flexible |
@@ -362,15 +363,9 @@ public final class EventTransformer extends ClassTransformer | @@ -362,15 +363,9 @@ public final class EventTransformer extends ClassTransformer | ||
362 | private void injectEventsAt(ClassNode classNode, MethodNode method, AbstractInsnNode injectionPoint, Injection injection) | 363 | private void injectEventsAt(ClassNode classNode, MethodNode method, AbstractInsnNode injectionPoint, Injection injection) |
363 | { | 364 | { |
364 | Event head = injection.getHead(); | 365 | Event head = injection.getHead(); |
365 | - | ||
366 | - if (head.isVerbose()) | ||
367 | - { | ||
368 | - LiteLoaderLogger.info("Injecting %s[x%d] in %s in %s", head.getName(), injection.size(), method.name, ClassTransformer.getSimpleClassName(classNode)); | ||
369 | - } | ||
370 | - else | ||
371 | - { | ||
372 | - LiteLoaderLogger.debug("Injecting %s[x%d] in %s in %s", head.getName(), injection.size(), method.name, ClassTransformer.getSimpleClassName(classNode)); | ||
373 | - } | 366 | + |
367 | + Verbosity verbosity = head.isVerbose() ? Verbosity.NORMAL : Verbosity.VERBOSE; | ||
368 | + LiteLoaderLogger.info(verbosity, "Injecting %s[x%d] in %s in %s", head.getName(), injection.size(), method.name, ClassTransformer.getSimpleClassName(classNode)); | ||
374 | 369 | ||
375 | MethodNode handler = head.inject(injectionPoint, injection.isCancellable(), this.globalEventID, injection.captureLocals(), injection.getLocalTypes()); | 370 | MethodNode handler = head.inject(injectionPoint, injection.isCancellable(), this.globalEventID, injection.captureLocals(), injection.getLocalTypes()); |
376 | injection.addEventsToHandler(handler); | 371 | injection.addEventsToHandler(handler); |
java/common/com/mumfrey/liteloader/transformers/event/json/ModEventInjectionTransformer.java
@@ -8,6 +8,7 @@ import com.mumfrey.liteloader.transformers.event.InjectionPoint; | @@ -8,6 +8,7 @@ import com.mumfrey.liteloader.transformers.event.InjectionPoint; | ||
8 | import com.mumfrey.liteloader.transformers.event.MethodInfo; | 8 | import com.mumfrey.liteloader.transformers.event.MethodInfo; |
9 | import com.mumfrey.liteloader.transformers.event.json.ModEvents.ModEventDefinition; | 9 | import com.mumfrey.liteloader.transformers.event.json.ModEvents.ModEventDefinition; |
10 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | 10 | import com.mumfrey.liteloader.util.log.LiteLoaderLogger; |
11 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger.Verbosity; | ||
11 | 12 | ||
12 | /** | 13 | /** |
13 | * Event transformer which manages injections of mod events specified via events.json in the mod container | 14 | * Event transformer which manages injections of mod events specified via events.json in the mod container |
@@ -62,7 +63,7 @@ public class ModEventInjectionTransformer extends EventInjectionTransformer | @@ -62,7 +63,7 @@ public class ModEventInjectionTransformer extends EventInjectionTransformer | ||
62 | def.injectIntoClassPath(); | 63 | def.injectIntoClassPath(); |
63 | } | 64 | } |
64 | 65 | ||
65 | - LiteLoaderLogger.info("Registering events for mod with id %s", def.getIdentifier()); | 66 | + LiteLoaderLogger.info(Verbosity.REDUCED, "Registering events for mod with id %s", def.getIdentifier()); |
66 | events.register(this); | 67 | events.register(this); |
67 | def.onEventsInjected(); | 68 | def.onEventsInjected(); |
68 | } | 69 | } |
java/common/com/mumfrey/liteloader/util/log/LiteLoaderLogger.java
@@ -35,6 +35,31 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -35,6 +35,31 @@ public class LiteLoaderLogger extends AbstractAppender | ||
35 | 35 | ||
36 | private static Throwable lastThrowable; | 36 | private static Throwable lastThrowable; |
37 | 37 | ||
38 | + /** | ||
39 | + * Provides some wiggle-room within log4j's Level so we can have different levels of logging on the same, um.. Level | ||
40 | + */ | ||
41 | + public static enum Verbosity | ||
42 | + { | ||
43 | + VERBOSE(3), | ||
44 | + NORMAL(2), | ||
45 | + REDUCED(1), | ||
46 | + SILENT(0); | ||
47 | + | ||
48 | + protected final int level; | ||
49 | + | ||
50 | + private Verbosity(int level) | ||
51 | + { | ||
52 | + this.level = level; | ||
53 | + } | ||
54 | + | ||
55 | + public int getLevel() | ||
56 | + { | ||
57 | + return this.level; | ||
58 | + } | ||
59 | + } | ||
60 | + | ||
61 | + public static Verbosity verbosity = LiteLoaderLogger.DEBUG ? Verbosity.VERBOSE : Verbosity.NORMAL; | ||
62 | + | ||
38 | static | 63 | static |
39 | { | 64 | { |
40 | LiteLoaderLogger.logger.addAppender(new LiteLoaderLogger()); | 65 | LiteLoaderLogger.logger.addAppender(new LiteLoaderLogger()); |
@@ -132,8 +157,13 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -132,8 +157,13 @@ public class LiteLoaderLogger extends AbstractAppender | ||
132 | return lastThrowableWrapped; | 157 | return lastThrowableWrapped; |
133 | } | 158 | } |
134 | 159 | ||
135 | - private static void log(Level level, String format, Object... data) | 160 | + private static void log(Level level, Verbosity verbosity, String format, Object... data) |
136 | { | 161 | { |
162 | + if (verbosity.level > LiteLoaderLogger.verbosity.level) | ||
163 | + { | ||
164 | + return; | ||
165 | + } | ||
166 | + | ||
137 | try | 167 | try |
138 | { | 168 | { |
139 | LiteLoaderLogger.logger.log(level, String.format(format, data)); | 169 | LiteLoaderLogger.logger.log(level, String.format(format, data)); |
@@ -144,8 +174,13 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -144,8 +174,13 @@ public class LiteLoaderLogger extends AbstractAppender | ||
144 | } | 174 | } |
145 | } | 175 | } |
146 | 176 | ||
147 | - private static void log(Level level, Throwable th, String format, Object... data) | 177 | + private static void log(Level level, Verbosity verbosity, Throwable th, String format, Object... data) |
148 | { | 178 | { |
179 | + if (verbosity.level > LiteLoaderLogger.verbosity.level) | ||
180 | + { | ||
181 | + return; | ||
182 | + } | ||
183 | + | ||
149 | LiteLoaderLogger.lastThrowable = th; | 184 | LiteLoaderLogger.lastThrowable = th; |
150 | 185 | ||
151 | try | 186 | try |
@@ -165,16 +200,26 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -165,16 +200,26 @@ public class LiteLoaderLogger extends AbstractAppender | ||
165 | 200 | ||
166 | public static void severe(String format, Object... data) | 201 | public static void severe(String format, Object... data) |
167 | { | 202 | { |
168 | - LiteLoaderLogger.log(Level.ERROR, format, data); | 203 | + LiteLoaderLogger.severe(Verbosity.REDUCED, format, data); |
204 | + } | ||
205 | + | ||
206 | + public static void severe(Verbosity verbosity, String format, Object... data) | ||
207 | + { | ||
208 | + LiteLoaderLogger.log(Level.ERROR, verbosity, format, data); | ||
169 | } | 209 | } |
170 | 210 | ||
171 | public static void severe(Throwable th, String format, Object... data) | 211 | public static void severe(Throwable th, String format, Object... data) |
172 | { | 212 | { |
213 | + LiteLoaderLogger.severe(Verbosity.REDUCED, th, format, data); | ||
214 | + } | ||
215 | + | ||
216 | + public static void severe(Verbosity verbosity, Throwable th, String format, Object... data) | ||
217 | + { | ||
173 | LiteLoaderLogger.lastThrowable = th; | 218 | LiteLoaderLogger.lastThrowable = th; |
174 | 219 | ||
175 | try | 220 | try |
176 | { | 221 | { |
177 | - LiteLoaderLogger.log(Level.ERROR, th, format, data); | 222 | + LiteLoaderLogger.log(Level.ERROR, verbosity, th, format, data); |
178 | } | 223 | } |
179 | catch (LinkageError ex) // This happens because of ClassLoader scope derpiness during the PREINIT and INIT phases | 224 | catch (LinkageError ex) // This happens because of ClassLoader scope derpiness during the PREINIT and INIT phases |
180 | { | 225 | { |
@@ -189,16 +234,26 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -189,16 +234,26 @@ public class LiteLoaderLogger extends AbstractAppender | ||
189 | 234 | ||
190 | public static void warning(String format, Object... data) | 235 | public static void warning(String format, Object... data) |
191 | { | 236 | { |
192 | - LiteLoaderLogger.log(Level.WARN, format, data); | 237 | + LiteLoaderLogger.warning(Verbosity.REDUCED, format, data); |
238 | + } | ||
239 | + | ||
240 | + public static void warning(Verbosity verbosity, String format, Object... data) | ||
241 | + { | ||
242 | + LiteLoaderLogger.log(Level.WARN, verbosity, format, data); | ||
193 | } | 243 | } |
194 | 244 | ||
195 | public static void warning(Throwable th, String format, Object... data) | 245 | public static void warning(Throwable th, String format, Object... data) |
196 | { | 246 | { |
247 | + LiteLoaderLogger.warning(Verbosity.REDUCED, th, format, data); | ||
248 | + } | ||
249 | + | ||
250 | + public static void warning(Verbosity verbosity, Throwable th, String format, Object... data) | ||
251 | + { | ||
197 | LiteLoaderLogger.lastThrowable = th; | 252 | LiteLoaderLogger.lastThrowable = th; |
198 | 253 | ||
199 | try | 254 | try |
200 | { | 255 | { |
201 | - LiteLoaderLogger.log(Level.WARN, th, format, data); | 256 | + LiteLoaderLogger.log(Level.WARN, verbosity, th, format, data); |
202 | } | 257 | } |
203 | catch (LinkageError ex) // This happens because of ClassLoader scope derpiness during the PREINIT and INIT phases | 258 | catch (LinkageError ex) // This happens because of ClassLoader scope derpiness during the PREINIT and INIT phases |
204 | { | 259 | { |
@@ -213,7 +268,12 @@ public class LiteLoaderLogger extends AbstractAppender | @@ -213,7 +268,12 @@ public class LiteLoaderLogger extends AbstractAppender | ||
213 | 268 | ||
214 | public static void info(String format, Object... data) | 269 | public static void info(String format, Object... data) |
215 | { | 270 | { |
216 | - LiteLoaderLogger.log(Level.INFO, format, data); | 271 | + LiteLoaderLogger.info(Verbosity.NORMAL, format, data); |
272 | + } | ||
273 | + | ||
274 | + public static void info(Verbosity verbosity, String format, Object... data) | ||
275 | + { | ||
276 | + LiteLoaderLogger.log(Level.INFO, verbosity, format, data); | ||
217 | } | 277 | } |
218 | 278 | ||
219 | public static void debug(String format, Object... data) | 279 | public static void debug(String format, Object... data) |