Skip to content

Commit 85b38c9

Browse files
committed
Added new logging system to mangobotcore...
1 parent b305a5c commit 85b38c9

8 files changed

Lines changed: 241 additions & 28 deletions

File tree

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ repositories {
6767
dependencies {
6868

6969
installer('org.mangorage:installer:4.0.30')
70-
bootstrap("org.mangorage:mangobotbootstrap:1.0.84")
70+
bootstrap("org.mangorage:mangobotbootstrap:1.0.101")
7171

72-
launchtarget("org.mangorage:mangobotlaunchtarget:0.1.11")
72+
launchtarget("org.mangorage:mangobotlaunchtarget:0.1.22")
7373

7474

7575
// SpongeMixin...

src/main/java/module-info.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
// Common Utils
3838
exports org.mangorage.mangobotcore.api.util.data;
3939
exports org.mangorage.mangobotcore.api.util.jda;
40-
exports org.mangorage.mangobotcore.api.util.log;
4140
exports org.mangorage.mangobotcore.api.util.misc;
4241

4342
// More JDA Utils
@@ -59,9 +58,11 @@
5958
provides org.mangorage.mangobotcore.api.plugin.v1.Plugin with org.mangorage.mangobotcore.api.plugin.MangoBotCore;
6059
provides org.mangorage.bootstrap.api.transformer.IClassTransformer with org.mangorage.mangobotcore.internal.transformer.ExampleTransformer;
6160
provides org.mangorage.bootstrap.api.launch.ILaunchTargetEntrypoint with org.mangorage.mangobotcore.internal.entrypoint.MangoBotEntrypoint;
61+
provides org.mangorage.bootstrap.api.logging.ILoggerProvider with org.mangorage.mangobotcore.internal.logger.SLF4JLoggerProvider;
6262

6363
uses org.mangorage.mangobotcore.api.plugin.v1.Plugin;
6464
uses org.mangorage.mangobotcore.api.plugin.v1.IPluginInfoGetter;
6565
uses org.mangorage.bootstrap.api.transformer.IClassTransformer;
6666
uses org.mangorage.bootstrap.api.launch.ILaunchTargetEntrypoint;
67+
uses org.mangorage.bootstrap.api.logging.ILoggerProvider;
6768
}

src/main/java/org/mangorage/mangobotcore/api/plugin/MangoBotCore.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.mangorage.mangobotcore.api.plugin;
22

3+
import org.mangorage.bootstrap.api.logging.IDeferredMangoLogger;
4+
import org.mangorage.bootstrap.api.logging.ILoggerFactory;
5+
import org.mangorage.bootstrap.api.logging.IMangoLogger;
36
import org.mangorage.mangobotcore.api.plugin.v1.MangoBotPlugin;
47
import org.mangorage.mangobotcore.api.plugin.v1.Plugin;
58
import org.mangorage.mangobotcore.internal.ExampleThing;
@@ -9,6 +12,8 @@
912
@MangoBotPlugin(id = ID)
1013
public final class MangoBotCore implements Plugin {
1114

15+
private static final IDeferredMangoLogger LOGGER = ILoggerFactory.getDefault().getWrappedProvider("slf4j", MangoBotCore.class);
16+
1217
public static final String ID = "mangobotcore";
1318

1419
public static boolean isDevMode() {
@@ -23,5 +28,6 @@ public String getId() {
2328
@Override
2429
public void load() {
2530
new ExampleThing().load();
31+
LOGGER.get().info("Loaded MangoBotCore");
2632
}
2733
}

src/main/java/org/mangorage/mangobotcore/api/util/log/LogHelper.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/main/java/org/mangorage/mangobotcore/internal/entrypoint/MangoBotEntrypoint.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package org.mangorage.mangobotcore.internal.entrypoint;
22

33
import org.mangorage.bootstrap.api.launch.ILaunchTargetEntrypoint;
4+
import org.mangorage.bootstrap.api.logging.IDeferredMangoLogger;
5+
import org.mangorage.bootstrap.api.logging.ILoggerFactory;
6+
import org.mangorage.bootstrap.api.logging.IMangoLogger;
47
import org.mangorage.mangobotcore.internal.plugin.PluginManagerImpl;
58

69
import java.util.Arrays;
710
import java.util.List;
811

912
public final class MangoBotEntrypoint implements ILaunchTargetEntrypoint {
1013

14+
private static final IDeferredMangoLogger LOGGER = ILoggerFactory.getDefault().getWrappedProvider("slf4j", MangoBotEntrypoint.class);
1115
public static String[] args;
1216
public static boolean devMode = false;
1317
public static boolean loaded = false;
@@ -21,6 +25,8 @@ public String getLaunchTargetId() {
2125
@Override
2226
public void init(String[] args) {
2327
if (loaded) return;
28+
LOGGER.get().info("Initializing MangoBot with args: {}", Arrays.toString(args));
29+
2430
MangoBotEntrypoint.args = args;
2531
MangoBotEntrypoint.immutableArgs = List.of(args);
2632

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.mangorage.mangobotcore.internal.logger;
2+
3+
import org.mangorage.bootstrap.api.logging.AbstractLoggerProvider;
4+
import org.mangorage.bootstrap.api.logging.IMangoLogger;
5+
6+
public final class SLF4JLoggerProvider extends AbstractLoggerProvider {
7+
8+
public SLF4JLoggerProvider() {
9+
super("slf4j");
10+
}
11+
12+
@Override
13+
protected IMangoLogger createLogger(String s) {
14+
return new SLF4JMangoLogger(s);
15+
}
16+
}
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
package org.mangorage.mangobotcore.internal.logger;
2+
3+
import org.mangorage.bootstrap.api.logging.IMangoLogger;
4+
import org.slf4j.Logger;
5+
import org.slf4j.LoggerFactory;
6+
7+
import java.util.Objects;
8+
9+
public final class SLF4JMangoLogger implements IMangoLogger {
10+
11+
private final Logger logger;
12+
13+
public SLF4JMangoLogger(Class<?> clazz) {
14+
this(LoggerFactory.getLogger(clazz));
15+
}
16+
17+
public SLF4JMangoLogger(String name) {
18+
this(LoggerFactory.getLogger(name));
19+
}
20+
21+
public SLF4JMangoLogger(Logger logger) {
22+
this.logger = Objects.requireNonNull(logger);
23+
}
24+
25+
@Override
26+
public <T> T unwrap(Class<T> aClass) throws UnsupportedOperationException {
27+
if (aClass.isInstance(logger)) {
28+
return aClass.cast(logger);
29+
}
30+
throw new UnsupportedOperationException("Cannot unwrap to " + aClass.getName());
31+
}
32+
33+
// ------------------------------------------------
34+
// Standard Logging
35+
// ------------------------------------------------
36+
37+
@Override
38+
public void trace(String s) {
39+
logger.trace(s);
40+
}
41+
42+
@Override
43+
public void trace(String s, Object... objects) {
44+
logger.trace(s, objects);
45+
}
46+
47+
@Override
48+
public void trace(String s, Throwable throwable) {
49+
logger.trace(s, throwable);
50+
}
51+
52+
@Override
53+
public void debug(String s) {
54+
logger.debug(s);
55+
}
56+
57+
@Override
58+
public void debug(String s, Object... objects) {
59+
logger.debug(s, objects);
60+
}
61+
62+
@Override
63+
public void debug(String s, Throwable throwable) {
64+
logger.debug(s, throwable);
65+
}
66+
67+
@Override
68+
public void info(String s) {
69+
logger.info(s);
70+
}
71+
72+
@Override
73+
public void info(String s, Object... objects) {
74+
logger.info(s, objects);
75+
}
76+
77+
@Override
78+
public void info(String s, Throwable throwable) {
79+
logger.info(s, throwable);
80+
}
81+
82+
@Override
83+
public void warn(String s) {
84+
logger.warn(s);
85+
}
86+
87+
@Override
88+
public void warn(String s, Object... objects) {
89+
logger.warn(s, objects);
90+
}
91+
92+
@Override
93+
public void warn(String s, Throwable throwable) {
94+
logger.warn(s, throwable);
95+
}
96+
97+
@Override
98+
public void error(String s) {
99+
logger.error(s);
100+
}
101+
102+
@Override
103+
public void error(String s, Object... objects) {
104+
logger.error(s, objects);
105+
}
106+
107+
@Override
108+
public void error(String s, Throwable throwable) {
109+
logger.error(s, throwable);
110+
}
111+
112+
// ------------------------------------------------
113+
// Mango Custom Methods
114+
// ------------------------------------------------
115+
116+
@Override
117+
public void rainbow(String s) {
118+
logger.info("🌈 {}", s);
119+
}
120+
121+
@Override
122+
public void celebration(String s) {
123+
logger.info("🎉 {}", s);
124+
}
125+
126+
@Override
127+
public void dramatic(String s) {
128+
logger.warn("🔥 DRAMATIC: {}", s);
129+
}
130+
131+
@Override
132+
public void whisper(String s) {
133+
logger.debug("🤫 {}", s);
134+
}
135+
136+
@Override
137+
public void shout(String s) {
138+
logger.warn("📢 {}", s.toUpperCase());
139+
}
140+
141+
@Override
142+
public void withEmoji(String emoji, String s) {
143+
logger.info("{} {}", emoji, s);
144+
}
145+
146+
@Override
147+
public void withBorder(String s) {
148+
String border = "=".repeat(Math.max(10, s.length() + 4));
149+
logger.info("\n{}\n| {} |\n{}", border, s, border);
150+
}
151+
152+
@Override
153+
public void withContext(String context, String s) {
154+
logger.info("[{}] {}", context, s);
155+
}
156+
157+
// ------------------------------------------------
158+
// Level Checks
159+
// ------------------------------------------------
160+
161+
@Override
162+
public boolean isTraceEnabled() {
163+
return logger.isTraceEnabled();
164+
}
165+
166+
@Override
167+
public boolean isDebugEnabled() {
168+
return logger.isDebugEnabled();
169+
}
170+
171+
@Override
172+
public boolean isInfoEnabled() {
173+
return logger.isInfoEnabled();
174+
}
175+
176+
@Override
177+
public boolean isWarnEnabled() {
178+
return logger.isWarnEnabled();
179+
}
180+
181+
@Override
182+
public boolean isErrorEnabled() {
183+
return logger.isErrorEnabled();
184+
}
185+
186+
@Override
187+
public String getName() {
188+
return logger.getName();
189+
}
190+
}

0 commit comments

Comments
 (0)