51 lines
1.8 KiB
Java
51 lines
1.8 KiB
Java
package net.ess3.provider.providers;
|
|
|
|
import net.ess3.provider.LoggerProvider;
|
|
import net.kyori.adventure.text.Component;
|
|
import net.kyori.adventure.text.logger.slf4j.ComponentLogger;
|
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
|
import org.bukkit.plugin.Plugin;
|
|
|
|
import java.util.logging.Level;
|
|
|
|
public class PaperLoggerProvider extends LoggerProvider {
|
|
private final ComponentLogger logger;
|
|
|
|
public PaperLoggerProvider(final Plugin plugin) {
|
|
super(plugin);
|
|
this.logger = plugin.getComponentLogger();
|
|
}
|
|
|
|
@Override
|
|
protected void doTheLog(Level level, String message, Throwable throwable) {
|
|
final Component component = LegacyComponentSerializer.legacySection().deserialize(message);
|
|
if (level == Level.SEVERE) {
|
|
logger.error(component, throwable);
|
|
} else if (level == Level.WARNING) {
|
|
logger.warn(component, throwable);
|
|
} else if (level == Level.INFO) {
|
|
logger.info(component, throwable);
|
|
} else if (level == Level.FINE) {
|
|
logger.trace(component, throwable);
|
|
} else {
|
|
throw new IllegalArgumentException("Unknown level: " + level);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void doTheLog(Level level, String message) {
|
|
final Component component = LegacyComponentSerializer.legacySection().deserialize(message);
|
|
if (level == Level.SEVERE) {
|
|
logger.error(component);
|
|
} else if (level == Level.WARNING) {
|
|
logger.warn(component);
|
|
} else if (level == Level.INFO) {
|
|
logger.info(component);
|
|
} else if (level == Level.FINE) {
|
|
logger.trace(component);
|
|
} else {
|
|
throw new IllegalArgumentException("Unknown level: " + level);
|
|
}
|
|
}
|
|
}
|