2021-06-11 12:02:28 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Minecrell <minecrell@minecrell.net>
|
|
|
|
Date: Thu, 21 Sep 2017 16:33:12 +0200
|
|
|
|
Subject: [PATCH] Allow plugins to use SLF4J for logging
|
|
|
|
|
|
|
|
SLF4J is a commonly used abstraction for various logging frameworks
|
|
|
|
such as java.util.logging (JUL) or Log4j. Currently, plugins are
|
|
|
|
required to do all their logging using the provided JUL logger.
|
|
|
|
This is annoying for plugins that target multiple platforms or when
|
|
|
|
using libraries that log messages using SLF4J.
|
|
|
|
|
|
|
|
Expose SLF4J as optional logging API for plugins, so they can use
|
|
|
|
it without having to shade it in the plugin and going through
|
|
|
|
several layers of logging abstraction.
|
|
|
|
|
2021-06-12 11:18:01 +00:00
|
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
2022-06-07 17:20:30 +00:00
|
|
|
index 9ec782b00f9f2ac5a38a75667d36de4582a25a03..ac0a4aea48436201b5712b166413bb7dc0d0b9d8 100644
|
2021-06-12 11:18:01 +00:00
|
|
|
--- a/build.gradle.kts
|
|
|
|
+++ b/build.gradle.kts
|
2022-06-07 17:20:30 +00:00
|
|
|
@@ -38,6 +38,8 @@ dependencies {
|
2021-08-14 04:11:12 +00:00
|
|
|
apiAndDocs("net.kyori:adventure-text-serializer-gson")
|
|
|
|
apiAndDocs("net.kyori:adventure-text-serializer-legacy")
|
|
|
|
apiAndDocs("net.kyori:adventure-text-serializer-plain")
|
2021-12-31 22:26:20 +00:00
|
|
|
+ api("org.apache.logging.log4j:log4j-api:2.17.1")
|
2021-11-27 06:54:18 +00:00
|
|
|
+ api("org.slf4j:slf4j-api:1.8.0-beta4")
|
2021-06-12 11:18:01 +00:00
|
|
|
|
2021-11-27 06:54:18 +00:00
|
|
|
implementation("org.ow2.asm:asm:9.2")
|
|
|
|
implementation("org.ow2.asm:asm-commons:9.2")
|
2021-06-11 12:02:28 +00:00
|
|
|
diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java
|
2022-01-20 02:39:08 +00:00
|
|
|
index 03ca87a1cbace2459174bb7bb8847bda766e80c5..34438b5362b0ba0949625d81e8371fe0d1f76fdf 100644
|
2021-06-11 12:02:28 +00:00
|
|
|
--- a/src/main/java/org/bukkit/plugin/Plugin.java
|
|
|
|
+++ b/src/main/java/org/bukkit/plugin/Plugin.java
|
2022-01-20 02:39:08 +00:00
|
|
|
@@ -179,6 +179,22 @@ public interface Plugin extends TabExecutor {
|
2021-06-11 12:02:28 +00:00
|
|
|
@NotNull
|
|
|
|
public Logger getLogger();
|
|
|
|
|
2021-08-02 07:57:31 +00:00
|
|
|
+ // Paper start - Add SLF4J/Log4J loggers
|
2021-06-11 12:02:28 +00:00
|
|
|
+ @NotNull
|
|
|
|
+ default org.slf4j.Logger getSLF4JLogger() {
|
|
|
|
+ return org.slf4j.LoggerFactory.getLogger(getLogger().getName());
|
|
|
|
+ }
|
2021-08-02 07:57:31 +00:00
|
|
|
+
|
2022-01-20 02:39:08 +00:00
|
|
|
+ /**
|
|
|
|
+ * @deprecated use {@link #getSLF4JLogger()}
|
|
|
|
+ */
|
|
|
|
+ @Deprecated
|
2021-08-02 07:57:31 +00:00
|
|
|
+ @NotNull
|
|
|
|
+ default org.apache.logging.log4j.Logger getLog4JLogger() {
|
|
|
|
+ return org.apache.logging.log4j.LogManager.getLogger(getLogger().getName());
|
|
|
|
+ }
|
2021-06-11 12:02:28 +00:00
|
|
|
+ // Paper end
|
|
|
|
+
|
|
|
|
/**
|
|
|
|
* Returns the name of the plugin.
|
|
|
|
* <p>
|