From fa8225fb1b11ac4f0ec76f36b393f6e51a303842 Mon Sep 17 00:00:00 2001 From: redkale Date: Fri, 20 Oct 2023 11:52:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96trace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/boot/Application.java | 5 +++-- src/main/java/org/redkale/boot/LoggingBaseHandler.java | 9 +++++---- src/main/java/org/redkale/boot/LoggingSearchHandler.java | 6 +++--- src/main/java/org/redkale/util/Traces.java | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index c55204f02..dcdb1cad3 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -955,6 +955,7 @@ public final class Application { } }); } + ByteArrayOutputStream out = new ByteArrayOutputStream(); final PrintStream ps = new PrintStream(out); properties.forEach((x, y) -> ps.println(x + "=" + y)); @@ -1660,7 +1661,7 @@ public final class Application { String ms = String.valueOf(intms); int repeat = ms.length() > 7 ? 0 : (7 - ms.length()) / 2; logger.info(colorMessage(logger, 36, 1, "-".repeat(repeat) + "------------------------ Redkale started in " + ms + " ms " + (ms.length() / 2 == 0 ? " " : "") + "-".repeat(repeat) + "------------------------") + "\r\n"); - LoggingBaseHandler.traceFlag = true; + LoggingBaseHandler.traceEnable = true; if (!singletonMode && !compileMode) { this.shutdownLatch.await(); @@ -2680,7 +2681,7 @@ public final class Application { String ms = String.valueOf(intms); int repeat = ms.length() > 7 ? 0 : (7 - ms.length()) / 2; logger.info(colorMessage(logger, 36, 1, "-".repeat(repeat) + "------------------------ Redkale shutdown in " + ms + " ms " + (ms.length() / 2 == 0 ? " " : "") + "-".repeat(repeat) + "------------------------") + "\r\n" + "\r\n"); - LoggingBaseHandler.traceFlag = true; + LoggingBaseHandler.traceEnable = true; } public ExecutorService getWorkExecutor() { diff --git a/src/main/java/org/redkale/boot/LoggingBaseHandler.java b/src/main/java/org/redkale/boot/LoggingBaseHandler.java index b7b51be57..d7c4ca323 100644 --- a/src/main/java/org/redkale/boot/LoggingBaseHandler.java +++ b/src/main/java/org/redkale/boot/LoggingBaseHandler.java @@ -26,6 +26,8 @@ public abstract class LoggingBaseHandler extends Handler { //有threadName、TID public static final String FORMATTER_FORMAT3 = "[%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%tL] [%7$s] %8$s %4$s %2$s\r\n%5$s%6$s\r\n"; + static boolean traceEnable = false; //防止设置system.property前调用Traces类导致enable提前初始化 + /** * 默认的日志时间格式化类 * 与SimpleFormatter的区别在于level不使用本地化 @@ -95,11 +97,9 @@ public abstract class LoggingBaseHandler extends Handler { } } - static boolean traceFlag = false; //防止设置system.property前调用Traces类导致enable提前初始化 - protected static void fillLogRecord(LogRecord log) { String traceid = null; - if (traceFlag && Traces.enable()) { + if (traceEnable && Traces.enable()) { traceid = Traces.currentTraceid(); if (traceid == null || traceid.isEmpty()) { traceid = "[TID:N/A] "; @@ -123,8 +123,9 @@ public abstract class LoggingBaseHandler extends Handler { ps.println(".level = FINEST"); ps.println("jdk.level = INFO"); ps.println("sun.level = INFO"); - ps.println("com.sun.level = INFO"); ps.println("javax.level = INFO"); + ps.println("com.sun.level = INFO"); + ps.println("io.level = INFO"); ps.println("org.junit.level = INFO"); ps.println(handlerName + ".level = FINEST"); ps.println(handlerName + ".formatter = " + LoggingFormater.class.getName()); diff --git a/src/main/java/org/redkale/boot/LoggingSearchHandler.java b/src/main/java/org/redkale/boot/LoggingSearchHandler.java index a609ec5da..7573a03dd 100644 --- a/src/main/java/org/redkale/boot/LoggingSearchHandler.java +++ b/src/main/java/org/redkale/boot/LoggingSearchHandler.java @@ -6,14 +6,14 @@ import java.io.*; import java.util.*; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Formatter; import java.util.logging.*; +import java.util.logging.Formatter; import java.util.regex.Pattern; import static org.redkale.boot.Application.RESNAME_APP_NAME; import org.redkale.convert.*; import org.redkale.convert.json.JsonConvert; -import org.redkale.persistence.SearchColumn; import org.redkale.persistence.*; +import org.redkale.persistence.SearchColumn; import org.redkale.source.*; import org.redkale.util.*; @@ -298,7 +298,7 @@ public class LoggingSearchHandler extends LoggingBaseHandler { this.rawLog = log; this.rawTag = tag; this.threadName = Thread.currentThread().getName(); - this.traceid = LoggingBaseHandler.traceFlag ? Traces.currentTraceid() : null; + this.traceid = LoggingBaseHandler.traceEnable && Traces.enable() ? Traces.currentTraceid() : null; String msg = log.getMessage(); if (log.getThrown() != null) { StringWriter sw = new StringWriter(); diff --git a/src/main/java/org/redkale/util/Traces.java b/src/main/java/org/redkale/util/Traces.java index 781002159..390c8c886 100644 --- a/src/main/java/org/redkale/util/Traces.java +++ b/src/main/java/org/redkale/util/Traces.java @@ -16,7 +16,7 @@ import java.util.function.Supplier; */ public class Traces { - private static final boolean enable = Boolean.getBoolean("redkale.trace.enable"); + private static final boolean enable = !Boolean.getBoolean("redkale.trace.disable"); private static final String PROCESS_ID = UUID.randomUUID().toString().replaceAll("-", "");