Skip to content

Commit

Permalink
feat: new logger
Browse files Browse the repository at this point in the history
  • Loading branch information
RealRONiN committed Aug 5, 2022
1 parent 2352a45 commit 719f513
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 7 deletions.
18 changes: 17 additions & 1 deletion src/main/java/in/arcadelabs/labaide/LabAide.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,35 @@

package in.arcadelabs.labaide;

import in.arcadelabs.labaide.logger.Logger;
import lombok.Getter;
import lombok.SneakyThrows;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.plugin.java.JavaPlugin;

@Getter
public class LabAide extends JavaPlugin {

@Getter
private static LabAide instance;
@Getter
private static Logger logger;

@SneakyThrows
@Override
public void onEnable() {
logger = new Logger("❥",
MiniMessage.miniMessage().deserialize(
"<gradient:#f10f5d:#f58c67><b><color:#f89999>『</color>ArcadeLabs<color:#f89999>』"),
null, null);
logger.logger(Logger.Level.INFO, MiniMessage.miniMessage().deserialize("<green><b>LabAide up and functional!"));
}

public static Logger Logger() {
return logger;
}

@Override
public void onDisable() {
}
}
}
103 changes: 103 additions & 0 deletions src/main/java/in/arcadelabs/labaide/logger/Logger.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/*
* LabAide - Common utility library for our products.
* Copyright (C) 2022 ArcadeLabs Production.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/

package in.arcadelabs.labaide.logger;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.logger.slf4j.ComponentLogger;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import org.bukkit.entity.Player;

public class Logger {

private final ComponentLogger logger;
private final MiniMessage miniMessage;
private final Component prefix;
private final String allPrefix, playerPrefix;

/**
* Instantiates a new Logger.
*
* @param name the name
* @param prefix the prefix
* @param allPrefix the all prefix
* @param playerPrefix the player prefix
*/
public Logger(final String name, final Component prefix, final String allPrefix, final String playerPrefix) {
this.logger = ComponentLogger.logger(name);
this.miniMessage = MiniMessage.miniMessage();
this.prefix = prefix;
this.allPrefix = allPrefix;
this.playerPrefix = playerPrefix;
}

/**
* Logger.
*
* @param level the level
* @param message the message
*/
public void logger(final Level level, final Component message) {
switch (level) {
case INFO -> logger.info(prefix.append(message));
case WARN -> logger.warn(prefix.append(message));
case ERROR -> logger.error(prefix.append(message));
case DEBUG -> logger.debug(prefix.append(message));
}
}

/**
* Logger with stackrace.
*
* @param level the level
* @param message the message
* @param stackrace the stackrace
*/
public void logger(final Level level, final Component message, final Throwable stackrace) {
switch (level) {
case INFO -> logger.info(prefix.append(message), stackrace);
case WARN -> logger.warn(prefix.append(message), stackrace);
case ERROR -> logger.error(prefix.append(message), stackrace);
case DEBUG -> logger.debug(prefix.append(message), stackrace);
}
}

/**
* Logger with player placeholder.
*
* @param player the player
* @param level the level
* @param message the message
*/
public void logger(final Player player, final Level level, final Component message) {
if (player == null) this.logger(level, miniMessage.deserialize(allPrefix).append(message));
else this.logger(level, miniMessage.deserialize(playerPrefix, Placeholder.component("player", player.name()))
.append(message));
}

/**
* The enum Level.
*/
public enum Level {
INFO,
WARN,
ERROR,
DEBUG
}
}
2 changes: 1 addition & 1 deletion src/main/java/in/arcadelabs/labaide/metrics/BStats.java
Original file line number Diff line number Diff line change
Expand Up @@ -869,4 +869,4 @@ public String toString() {
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ public class Update {
List<String> message;
List<String> changeLog;

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import com.google.gson.Gson;
import in.arcadelabs.labaide.LabAide;
import in.arcadelabs.labaide.logger.Logger;
import in.arcadelabs.labaide.updatechecker.downloads.DownloadManager;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
Expand Down Expand Up @@ -233,7 +234,7 @@ public void run() {
}
}
for (final String message : instance.getMessage()) {
Bukkit.getLogger().info(message);
LabAide.Logger().logger(Logger.Level.INFO ,MiniMessage.miniMessage().deserialize(message));
}
try {
reader = new InputStreamReader(url.openStream());
Expand All @@ -251,4 +252,4 @@ public void run() {
}
}.runTaskTimerAsynchronously(plugin, 250, interval);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ public void playerJoinNotification(PlayerJoinEvent event) {
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,4 @@ public void initialize() throws IOException {
plugin.getLogger().info("Downloaded Latest Version of " + plugin.getName() + "!. Restart to apply changes.");
this.downloadSuccess = true;
}
}
}

0 comments on commit 719f513

Please sign in to comment.