loggerMap = new ConcurrentHashMap<>();
private final ELDConfig config;
private final Logger parent;
@@ -24,18 +23,14 @@ public ELDLoggingService(ELDConfig config, Logger parent) {
@Override
public DebugLogger getLogger(Class> cls) {
- return Optional.ofNullable(loggerMap.get(cls)).orElseGet(() -> {
- var logger = new ELDLogger(cls, config, parent);
- loggerMap.put(cls, logger);
- return logger;
- });
+ return this.getLogger(cls.getName());
}
@Override
public DebugLogger getLogger(String name) {
- return Optional.ofNullable(loggerNameMap.get(name)).orElseGet(() -> {
+ return Optional.ofNullable(loggerMap.get(name)).orElseGet(() -> {
var logger = new ELDLogger(name, config, parent);
- loggerNameMap.put(name, logger);
+ loggerMap.put(name, logger);
return logger;
});
}
diff --git a/eldependenci-common/src/test/java/com/ericlam/mc/eldtest/TestAnnotationPresent.java b/eldependenci-common/src/test/java/com/ericlam/mc/eldtest/TestAnnotationPresent.java
index 9b19c3f..aaae006 100644
--- a/eldependenci-common/src/test/java/com/ericlam/mc/eldtest/TestAnnotationPresent.java
+++ b/eldependenci-common/src/test/java/com/ericlam/mc/eldtest/TestAnnotationPresent.java
@@ -1,12 +1,17 @@
package com.ericlam.mc.eldtest;
import com.ericlam.mc.eld.annotations.Commander;
+import com.ericlam.mc.eld.components.Configuration;
+import com.ericlam.mc.eld.configurations.FileLocator;
import javax.inject.Singleton;
+import java.io.File;
import java.util.Arrays;
public class TestAnnotationPresent {
+
+
public static void main(String[] args) {
System.out.println(Impl.class.isAnnotationPresent(Commander.class));
System.out.println(Impl.class.getAnnotation(Commander.class) != null);
diff --git a/eldependenci-framework/pom.xml b/eldependenci-framework/pom.xml
index 8eb2d55..384ef72 100644
--- a/eldependenci-framework/pom.xml
+++ b/eldependenci-framework/pom.xml
@@ -5,7 +5,7 @@
eldependenci
org.eldependenci
- 2.0.1
+ 2.0.2
4.0.0
diff --git a/eldependenci-framework/src/main/java/com/ericlam/mc/eld/annotations/InjectLogger.java b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/annotations/InjectLogger.java
new file mode 100644
index 0000000..ffd52c9
--- /dev/null
+++ b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/annotations/InjectLogger.java
@@ -0,0 +1,21 @@
+package com.ericlam.mc.eld.annotations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 透過標註注入 DebugLogger
+ */
+@Target({ElementType.FIELD, ElementType.TYPE_PARAMETER, ElementType.PARAMETER})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface InjectLogger {
+
+ /**
+ * DebugLogger 的名稱,如無則以注入 class 作為名稱
+ * @return 自定義名稱
+ */
+ String name() default "";
+
+}
diff --git a/eldependenci-framework/src/main/java/com/ericlam/mc/eld/configurations/FileLocator.java b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/configurations/FileLocator.java
new file mode 100644
index 0000000..202327b
--- /dev/null
+++ b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/configurations/FileLocator.java
@@ -0,0 +1,23 @@
+package com.ericlam.mc.eld.configurations;
+
+import java.io.File;
+
+/**
+ * 獲取根文件的接口,可在以下的類別進行形態轉換使用:
+ *
+ * - {@link com.ericlam.mc.eld.controllers.FileController}
+ * - {@link GroupConfig}
+ * - {@link GroupLang}
+ *
+ */
+public interface FileLocator {
+
+ /**
+ * 獲取文件檔案,如果是文件池則獲取文件池資料夾
+ * 獲取文件池資料夾: {@link GroupConfig}, {@link GroupLang}
+ * 獲取文件檔案: {@link com.ericlam.mc.eld.controllers.FileController}
+ * @return 文件檔案或文件池資料夾
+ */
+ File getLocator();
+
+}
diff --git a/eldependenci-framework/src/main/java/com/ericlam/mc/eld/controllers/FileController.java b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/controllers/FileController.java
index 6be80ce..7aa55a9 100644
--- a/eldependenci-framework/src/main/java/com/ericlam/mc/eld/controllers/FileController.java
+++ b/eldependenci-framework/src/main/java/com/ericlam/mc/eld/controllers/FileController.java
@@ -1,5 +1,6 @@
package com.ericlam.mc.eld.controllers;
+import java.io.File;
import java.io.IOException;
/**
diff --git a/pom.xml b/pom.xml
index 8c7170e..08f06f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
org.eldependenci
eldependenci
pom
- 2.0.1
+ 2.0.2
eldependenci-framework
@@ -43,10 +43,10 @@
- 2.13.3
- 1.18.2-R0.1-SNAPSHOT
+ 2.13.4
+ 1.19-R0.1-SNAPSHOT
1.18-R0.1-SNAPSHOT
- 2.0.1.2
+ 2.0.2
@@ -78,7 +78,7 @@
org.yaml
snakeyaml
- 1.30
+ 1.31
provided
@@ -126,6 +126,12 @@
jackson-dataformat-yaml
${jackson.version}
compile
+
+
+ org.snakeyaml
+ snakeyaml
+
+
com.fasterxml.jackson.core