diff --git a/hutool-log/src/main/java/org/dromara/hutool/log/engine/LogEngineFactory.java b/hutool-log/src/main/java/org/dromara/hutool/log/engine/LogEngineFactory.java index 42e4113da..c6ac9bca8 100755 --- a/hutool-log/src/main/java/org/dromara/hutool/log/engine/LogEngineFactory.java +++ b/hutool-log/src/main/java/org/dromara/hutool/log/engine/LogEngineFactory.java @@ -34,6 +34,13 @@ import java.net.URL; */ public class LogEngineFactory { + /** + * issue#I7PHNT,嵌套使用Singleton.get时在JDK9+会引起Recursive update问题,此处日志单独使用单例 + */ + private static class InstanceHolder { + public static final LogEngine INSTANCE = createEngine(); + } + /** * 根据用户引入的模板引擎jar,自动创建对应的模板引擎对象
* 获得的是单例的TemplateEngine @@ -41,7 +48,7 @@ public class LogEngineFactory { * @return 单例的TemplateEngine */ public static LogEngine getEngine() { - return Singleton.get(LogEngineFactory.class.getName(), LogEngineFactory::createEngine); + return InstanceHolder.INSTANCE; } /**