From 6fda8f02447b443969c7a801bb20a6b1fb2281fb Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 25 Jun 2025 17:44:06 +0800 Subject: [PATCH] fix comment --- .../text/replacer/HighMultiReplacerV2.java | 9 +++ .../v7/json/issues/IssueI676ITTest.java | 2 +- .../log/engine/commons/ApacheCommonsLog.java | 9 +++ .../v7/log/engine/console/ConsoleLog.java | 6 ++ .../cn/hutool/v7/log/engine/jdk/JdkLog.java | 74 ++++++++++--------- .../hutool/v7/log/engine/log4j/Log4jLog.java | 6 ++ .../hutool/v7/log/engine/tinylog/TinyLog.java | 16 +++- .../v7/log/engine/tinylog/TinyLog2.java | 54 ++++++-------- 8 files changed, 107 insertions(+), 69 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/v7/core/text/replacer/HighMultiReplacerV2.java b/hutool-core/src/main/java/cn/hutool/v7/core/text/replacer/HighMultiReplacerV2.java index 4d914d1d4..64aaa0488 100644 --- a/hutool-core/src/main/java/cn/hutool/v7/core/text/replacer/HighMultiReplacerV2.java +++ b/hutool-core/src/main/java/cn/hutool/v7/core/text/replacer/HighMultiReplacerV2.java @@ -65,12 +65,21 @@ public class HighMultiReplacerV2 extends StrReplacer { * AC 自动机 */ protected static class AhoCorasickAutomaton extends MultiStrFinder{ + /** + * 替换的字符串Map + */ protected final Map replaceMap; public AhoCorasickAutomaton(final Map replaceMap){ super(replaceMap.keySet()); this.replaceMap = replaceMap; } + + /** + * 替换 + * @param text 文本 + * @param stringBuilder {@link StringBuilder} + */ public void replace(final CharSequence text, final StringBuilder stringBuilder){ Node currentNode = root; // 临时字符串存储空间 diff --git a/hutool-json/src/test/java/cn/hutool/v7/json/issues/IssueI676ITTest.java b/hutool-json/src/test/java/cn/hutool/v7/json/issues/IssueI676ITTest.java index 5884ea195..dc0262105 100644 --- a/hutool-json/src/test/java/cn/hutool/v7/json/issues/IssueI676ITTest.java +++ b/hutool-json/src/test/java/cn/hutool/v7/json/issues/IssueI676ITTest.java @@ -33,6 +33,6 @@ public class IssueI676ITTest { final JSONObject jsonObject = JSONUtil.parseObj(ResourceUtil.readUtf8Str("issueI676IT.json")); final String xmlStr = JSONXMLSerializer.toXml(jsonObject, null, (String) null); final String content = String.valueOf(XPathUtil.getByXPath("/page/orderItems[1]/content", XmlUtil.readXml(xmlStr), XPathConstants.STRING)); - Assertions.assertEquals(content, "bar1"); + Assertions.assertEquals("bar1", content); } } diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/commons/ApacheCommonsLog.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/commons/ApacheCommonsLog.java index 535a0f51c..dbfbda572 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/commons/ApacheCommonsLog.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/commons/ApacheCommonsLog.java @@ -23,15 +23,24 @@ import cn.hutool.v7.core.text.StrUtil; import cn.hutool.v7.log.AbstractLog; import cn.hutool.v7.log.level.Level; +import java.io.Serial; + /** * Apache Commons Logging * * @author Looly */ public class ApacheCommonsLog extends AbstractLog { + @Serial private static final long serialVersionUID = -6843151523380063975L; + /** + * logger + */ private final transient Log logger; + /** + * 名称 + */ private final String name; // ------------------------------------------------------------------------- Constructor diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/console/ConsoleLog.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/console/ConsoleLog.java index 1e36dc2a0..6a6c254b0 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/console/ConsoleLog.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/console/ConsoleLog.java @@ -24,17 +24,23 @@ import cn.hutool.v7.core.text.StrUtil; import cn.hutool.v7.log.AbstractLog; import cn.hutool.v7.log.level.Level; +import java.io.Serial; + /** * 利用System.out.println()打印日志 * * @author Looly */ public class ConsoleLog extends AbstractLog { + @Serial private static final long serialVersionUID = -6843151523380063975L; private static final String logFormat = "[{date}] [{level}] {name}: {msg}"; private static Level currentLevel = Level.DEBUG; + /** + * 日志名 + */ private final String name; //------------------------------------------------------------------------- Constructor diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/jdk/JdkLog.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/jdk/JdkLog.java index e028dcd38..f3e31017e 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/jdk/JdkLog.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/jdk/JdkLog.java @@ -16,37 +16,55 @@ package cn.hutool.v7.log.engine.jdk; +import cn.hutool.v7.core.text.StrUtil; +import cn.hutool.v7.log.AbstractLog; + +import java.io.Serial; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import cn.hutool.v7.core.text.StrUtil; -import cn.hutool.v7.log.AbstractLog; - /** * java.util.logging log. * * @author Looly - * */ public class JdkLog extends AbstractLog { + @Serial private static final long serialVersionUID = -6843151523380063975L; private final transient Logger logger; // ------------------------------------------------------------------------- Constructor + + /** + * 构造函数,初始化JdkLog对象 + * + * @param logger 日志记录器对象,用于记录日志信息 + */ public JdkLog(final Logger logger) { this.logger = logger; } + /** + * 构造函数,通过类对象初始化JdkLog对象 + * + * @param clazz 类对象,用于创建日志记录器 + */ public JdkLog(final Class clazz) { this((null == clazz) ? StrUtil.NULL : clazz.getName()); } + /** + * 构造函数,通过日志记录器名称初始化JdkLog对象 + * + * @param name 日志记录器的名称,用于创建日志记录器 + */ public JdkLog(final String name) { this(Logger.getLogger(name)); } + @Override public String getName() { return logger.getName(); @@ -110,41 +128,30 @@ public class JdkLog extends AbstractLog { // ------------------------------------------------------------------------- Log @Override public void log(final String fqcn, final cn.hutool.v7.log.level.Level level, final Throwable t, final String format, final Object... arguments) { - final Level jdkLevel; - switch (level) { - case TRACE: - jdkLevel = Level.FINEST; - break; - case DEBUG: - jdkLevel = Level.FINE; - break; - case INFO: - jdkLevel = Level.INFO; - break; - case WARN: - jdkLevel = Level.WARNING; - break; - case ERROR: - jdkLevel = Level.SEVERE; - break; - default: - throw new Error(StrUtil.format("Can not identify level: {}", level)); - } + final Level jdkLevel = switch (level) { + case TRACE -> Level.FINEST; + case DEBUG -> Level.FINE; + case INFO -> Level.INFO; + case WARN -> Level.WARNING; + case ERROR -> Level.SEVERE; + default -> throw new Error(StrUtil.format("Can not identify level: {}", level)); + }; logIfEnabled(fqcn, jdkLevel, t, format, arguments); } // ------------------------------------------------------------------------- Private method + /** * 打印对应等级的日志 * * @param callerFQCN 调用者的完全限定类名(Fully Qualified Class Name) - * @param level 等级 - * @param throwable 异常对象 - * @param format 消息模板 - * @param arguments 参数 + * @param level 等级 + * @param throwable 异常对象 + * @param format 消息模板 + * @param arguments 参数 */ - private void logIfEnabled(final String callerFQCN, final Level level, final Throwable throwable, final String format, final Object[] arguments){ - if(logger.isLoggable(level)){ + private void logIfEnabled(final String callerFQCN, final Level level, final Throwable throwable, final String format, final Object[] arguments) { + if (logger.isLoggable(level)) { final LogRecord record = new LogRecord(level, StrUtil.format(format, arguments)); record.setLoggerName(getName()); record.setThrown(throwable); @@ -155,15 +162,16 @@ public class JdkLog extends AbstractLog { /** * 传入调用日志类的信息 + * * @param callerFQCN 调用者全限定类名 - * @param record The record to update + * @param record The record to update */ private static void fillCallerData(final String callerFQCN, final LogRecord record) { final StackTraceElement[] steArray = Thread.currentThread().getStackTrace(); int found = -1; String className; - for (int i = steArray.length -2; i > -1; i--) { + for (int i = steArray.length - 2; i > -1; i--) { // 此处初始值为length-2,表示从倒数第二个堆栈开始检查,如果是倒数第一个,那调用者就获取不到 className = steArray[i].getClassName(); if (callerFQCN.equals(className)) { @@ -173,7 +181,7 @@ public class JdkLog extends AbstractLog { } if (found > -1) { - final StackTraceElement ste = steArray[found+1]; + final StackTraceElement ste = steArray[found + 1]; record.setSourceClassName(ste.getClassName()); record.setSourceMethodName(ste.getMethodName()); } diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/log4j/Log4jLog.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/log4j/Log4jLog.java index 36ac32dde..6bd018eb8 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/log4j/Log4jLog.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/log4j/Log4jLog.java @@ -22,6 +22,8 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.io.Serial; + /** * Apache Log4J log.
* @@ -29,8 +31,12 @@ import org.apache.logging.log4j.Logger; * */ public class Log4jLog extends AbstractLog { + @Serial private static final long serialVersionUID = -6843151523380063975L; + /** + * Log4j的日志实现 + */ private final Logger logger; // ------------------------------------------------------------------------- Constructor diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog.java index 696f6b378..507d8fd79 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog.java @@ -26,28 +26,36 @@ import org.tinylog.format.MessageFormatter; import org.tinylog.provider.LoggingProvider; import org.tinylog.provider.ProviderRegistry; +import java.io.Serial; + /** * tinylog log.
* * @author Looly */ public class TinyLog extends AbstractLog { + @Serial private static final long serialVersionUID = -4848042277045993735L; /** * 堆栈增加层数,因为封装因此多了两层,此值用于正确获取当前类名 */ private static final int DEPTH = 4; - - private final int level; - private final String name; private static final LoggingProvider provider = ProviderRegistry.getLoggingProvider(); - private static final MessageFormatter formatter = new AdvancedMessageFormatter( Configuration.getLocale(), Configuration.isEscapingEnabled() ); + /** + * 日志级别 + */ + private final int level; + /** + * 日志名 + */ + private final String name; + /** * 构造 * diff --git a/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog2.java b/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog2.java index c7bd13c33..72a54793a 100644 --- a/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog2.java +++ b/hutool-log/src/main/java/cn/hutool/v7/log/engine/tinylog/TinyLog2.java @@ -26,29 +26,36 @@ import org.tinylog.format.MessageFormatter; import org.tinylog.provider.LoggingProvider; import org.tinylog.provider.ProviderRegistry; +import java.io.Serial; + /** * tinylog log.
* * @author Looly */ public class TinyLog2 extends AbstractLog { + @Serial private static final long serialVersionUID = 1L; /** * 堆栈增加层数,因为封装因此多了两层,此值用于正确获取当前类名 */ private static final int DEPTH = 5; - - private final int level; - private final String name; private static final LoggingProvider provider = ProviderRegistry.getLoggingProvider(); - // ------------------------------------------------------------------------- Constructor - private static final MessageFormatter formatter = new AdvancedMessageFormatter( - Configuration.getLocale(), - Configuration.isEscapingEnabled() + Configuration.getLocale(), + Configuration.isEscapingEnabled() ); + /** + * 日志级别 + */ + private final int level; + /** + * 日志名称 + */ + private final String name; + /** * 构造 * @@ -165,30 +172,15 @@ public class TinyLog2 extends AbstractLog { * @since 4.0.3 */ private Level toTinyLevel(final cn.hutool.v7.log.level.Level level) { - final Level tinyLevel; - switch (level) { - case TRACE: - tinyLevel = Level.TRACE; - break; - case DEBUG: - tinyLevel = Level.DEBUG; - break; - case INFO: - tinyLevel = Level.INFO; - break; - case WARN: - tinyLevel = Level.WARN; - break; - case ERROR: - tinyLevel = Level.ERROR; - break; - case OFF: - tinyLevel = Level.OFF; - break; - default: - throw new Error(StrUtil.format("Can not identify level: {}", level)); - } - return tinyLevel; + return switch (level) { + case TRACE -> Level.TRACE; + case DEBUG -> Level.DEBUG; + case INFO -> Level.INFO; + case WARN -> Level.WARN; + case ERROR -> Level.ERROR; + case OFF -> Level.OFF; + default -> throw new Error(StrUtil.format("Can not identify level: {}", level)); + }; } /**