From e11995d73ce82e78667a06ee6b9097047cefa318 Mon Sep 17 00:00:00 2001
From: SerLiunx-ctrl <17689543@qq.com>
Date: Sat, 15 Jun 2024 23:53:09 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?=
=?UTF-8?q?=E8=87=B31.0.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../ddns/core/instance/AbstractInstance.java | 7 +++-
.../ddns/core/instance/AliyunInstance.java | 2 +-
.../log/HighlightingCompositeConverter.java | 33 +++++++++++++++++++
src/main/resources/logback.xml | 3 +-
5 files changed, 43 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/com/serliunx/ddns/support/log/HighlightingCompositeConverter.java
diff --git a/pom.xml b/pom.xml
index 8a2f614..42c36ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.serliunx.ddns
ddns-manager-lite
- 1.0.0
+ 1.0.1
8
diff --git a/src/main/java/com/serliunx/ddns/core/instance/AbstractInstance.java b/src/main/java/com/serliunx/ddns/core/instance/AbstractInstance.java
index f7cd758..bc402a8 100644
--- a/src/main/java/com/serliunx/ddns/core/instance/AbstractInstance.java
+++ b/src/main/java/com/serliunx/ddns/core/instance/AbstractInstance.java
@@ -63,8 +63,10 @@ public abstract class AbstractInstance implements Instance {
@Override
public void refresh() {
+ InstanceContextHolder.setInstance(this);
// 调用子类的初始化逻辑
init();
+ InstanceContextHolder.clear();
}
@Override
@@ -102,11 +104,14 @@ public abstract class AbstractInstance implements Instance {
@Override
public boolean validate() {
+ InstanceContextHolder.setInstance(this);
// 校验通用参数, 具体子类的参数交由子类校验
if(name == null || name.isEmpty() || interval <= 0 || type == null){
return false;
}
- return validate0();
+ boolean result = validate0();
+ InstanceContextHolder.clear();
+ return result;
}
@Override
diff --git a/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java b/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java
index bcdc690..d6d09ff 100644
--- a/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java
+++ b/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java
@@ -100,7 +100,7 @@ public class AliyunInstance extends AbstractInstance {
.setEndpointOverride("alidns.cn-hangzhou.aliyuncs.com")
)
.build();
- log.debug("初始化完成.");
+ log.debug(getName() + ": 初始化完成.");
}
@Override
diff --git a/src/main/java/com/serliunx/ddns/support/log/HighlightingCompositeConverter.java b/src/main/java/com/serliunx/ddns/support/log/HighlightingCompositeConverter.java
new file mode 100644
index 0000000..01f0f80
--- /dev/null
+++ b/src/main/java/com/serliunx/ddns/support/log/HighlightingCompositeConverter.java
@@ -0,0 +1,33 @@
+package com.serliunx.ddns.support.log;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase;
+
+import static ch.qos.logback.core.pattern.color.ANSIConstants.*;
+
+/**
+ * 高亮颜色转换器
+ * @author SerLiunx
+ * @version 1.0.1
+ * @since 2024/6/15
+ */
+public class HighlightingCompositeConverter extends ForegroundCompositeConverterBase {
+
+ @Override
+ protected String getForegroundColorCode(ILoggingEvent event) {
+ Level level = event.getLevel();
+ switch (level.toInt()) {
+ case Level.ERROR_INT:
+ return BOLD + RED_FG;
+ case Level.WARN_INT:
+ return YELLOW_FG;
+ case Level.INFO_INT:
+ return BLUE_FG;
+ case Level.DEBUG_INT:
+ return GREEN_FG;
+ default:
+ return DEFAULT_FG;
+ }
+ }
+}
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 754650b..c5fd8fb 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -1,11 +1,12 @@
+
- %boldGreen(%d{yyyy年MM月dd日 HH:mm:ss(SSS)}) %cyan([%pid]) %magenta([%15.15thread]) %yellow([%16.16instance]) %highlight([%-6level]) %boldYellow(%-36logger{32}): %msg%n
+ %boldGreen(%d{yyyy-MM-dd HH:mm:ss(SSS)}) %cyan([%pid]) %magenta([%15.15thread]) %yellow([%16.16instance]) %highlight([%-6level]) %boldYellow(%-36logger{32}): %msg%n