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