From 059e9117544c57016fbc88a16a37b67830535c18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B7=BC=E6=B7=BC?= Date: Thu, 4 Jul 2024 16:18:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8=E7=AD=96=E7=95=A5=E9=80=BB=E8=BE=91:=20=20?= =?UTF-8?q?=201.1:=20TimedRollingFileAppender=E6=96=B0=E5=A2=9E=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20resetTimedRollingFilleConfig(String=20datePattern),?= =?UTF-8?q?=E5=8F=AF=E6=A0=B9=E6=8D=AE=E6=97=A5=E5=BF=97=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E5=AF=B9=E6=97=A5=E5=BF=97=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E9=85=8D=E7=BD=AE=20=20=201.2:=20LoadTestAwa?= =?UTF-8?q?reAppender=20=E6=96=B0=E5=A2=9Erest=E6=96=B9=E6=B3=95,=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=97=A5=E6=9C=9F=E7=AD=96=E7=95=A5=E9=87=8D=E7=BD=AE?= =?UTF-8?q?nonLoadTestTraceAppender=E5=92=8CloadTestTraceAppender?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appender/file/LoadTestAwareAppender.java | 55 ++++++++----------- .../file/TimedRollingFileAppender.java | 11 ++++ 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java index 146e3e75c..98e2053a9 100644 --- a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java +++ b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java @@ -21,68 +21,59 @@ import java.io.File; import java.io.IOException; -/** - * LoadTestAwareAppender - * - * @author yangguanchao - * @since 2017/06/25 - */ public final class LoadTestAwareAppender implements TraceAppender { + private TimedRollingFileAppender nonLoadTestTraceAppender; + private TimedRollingFileAppender loadTestTraceAppender; - /** TraceAppender for non-pressure */ - private TraceAppender nonLoadTestTraceAppender; - /** TraceAppender for pressure*/ - private TraceAppender loadTestTraceAppender; - - private LoadTestAwareAppender(TraceAppender nonLoadTestTraceAppender, - TraceAppender loadTestTraceAppender) { + private LoadTestAwareAppender(TimedRollingFileAppender nonLoadTestTraceAppender, + TimedRollingFileAppender loadTestTraceAppender) { this.nonLoadTestTraceAppender = nonLoadTestTraceAppender; this.loadTestTraceAppender = loadTestTraceAppender; } public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender(String logName, boolean append) { - TraceAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, append); - TraceAppender loadTestTraceAppender = new TimedRollingFileAppender("shadow" - + File.separator - + logName, append); + TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, + append); + TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender( + "shadow" + File.separator + logName, append); return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender); } public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender(String logName, String rollingPolicy, String logReserveConfig) { - TraceAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, - rollingPolicy, logReserveConfig); - TraceAppender loadTestTraceAppender = new TimedRollingFileAppender("shadow" - + File.separator - + logName, + TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, rollingPolicy, logReserveConfig); + TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender( + "shadow" + File.separator + logName, rollingPolicy, logReserveConfig); return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender); } public void append(String log, boolean loadTest) throws IOException { if (loadTest) { - loadTestTraceAppender.append(log); + this.loadTestTraceAppender.append(log); } else { - nonLoadTestTraceAppender.append(log); + this.nonLoadTestTraceAppender.append(log); } } - @Override public void flush() throws IOException { - nonLoadTestTraceAppender.flush(); - loadTestTraceAppender.flush(); + this.nonLoadTestTraceAppender.flush(); + this.loadTestTraceAppender.flush(); } - @Override public void append(String log) throws IOException { throw new UnsupportedOperationException(); } - @Override public void cleanup() { - nonLoadTestTraceAppender.cleanup(); - loadTestTraceAppender.cleanup(); + this.nonLoadTestTraceAppender.cleanup(); + this.loadTestTraceAppender.cleanup(); + } + + public void reset(String datePattern) { + nonLoadTestTraceAppender.resetTimedRollingFilleConfig(datePattern); + loadTestTraceAppender.resetTimedRollingFilleConfig(datePattern); } -} +} \ No newline at end of file diff --git a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/TimedRollingFileAppender.java b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/TimedRollingFileAppender.java index a13941e85..553a5f46e 100644 --- a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/TimedRollingFileAppender.java +++ b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/TimedRollingFileAppender.java @@ -131,6 +131,17 @@ public TimedRollingFileAppender(String file, int bufferSize, boolean append, TracerDaemon.watch(this); } + public void resetTimedRollingFilleConfig(String datePattern) { + this.datePattern = datePattern; + sdf = new SimpleDateFormat(this.datePattern); + rc.setType(computeCheckPeriod()); + scheduledFilename = fileName + sdf.format(new Date(logFile.lastModified())); + TracerDaemon.watch(this); + //重置 nextCheck + now.setTime(System.currentTimeMillis()); + this.nextCheck = rc.getNextCheckMillis(now); + } + /** * Determine if RollOver should be done now * @return true:Now RollOver From dba75b12c2d3b67adb085fcee381b5dd55dd04ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B7=BC=E6=B7=BC?= Date: Fri, 5 Jul 2024 18:13:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.=E8=BF=98=E5=8E=9F=E6=B3=A8=E9=87=8A=202.?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appender/file/LoadTestAwareAppender.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java index 98e2053a9..2d7fc2ac7 100644 --- a/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java +++ b/tracer-core/src/main/java/com/alipay/common/tracer/core/appender/file/LoadTestAwareAppender.java @@ -21,8 +21,17 @@ import java.io.File; import java.io.IOException; +/** + * LoadTestAwareAppender + * + * @author yangguanchao + * @since 2017/06/25 + */ public final class LoadTestAwareAppender implements TraceAppender { + + /** TraceAppender for non-pressure */ private TimedRollingFileAppender nonLoadTestTraceAppender; + /** TraceAppender for pressure*/ private TimedRollingFileAppender loadTestTraceAppender; private LoadTestAwareAppender(TimedRollingFileAppender nonLoadTestTraceAppender, @@ -34,9 +43,9 @@ private LoadTestAwareAppender(TimedRollingFileAppender nonLoadTestTraceAppender, public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender(String logName, boolean append) { TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, - append); + append); TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender( - "shadow" + File.separator + logName, append); + "shadow" + File.separator + logName, append); return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender); } @@ -44,32 +53,35 @@ public static LoadTestAwareAppender createLoadTestAwareTimedRollingFileAppender( String rollingPolicy, String logReserveConfig) { TimedRollingFileAppender nonLoadTestTraceAppender = new TimedRollingFileAppender(logName, - rollingPolicy, logReserveConfig); + rollingPolicy, logReserveConfig); TimedRollingFileAppender loadTestTraceAppender = new TimedRollingFileAppender( - "shadow" + File.separator + logName, rollingPolicy, logReserveConfig); + "shadow" + File.separator + logName, rollingPolicy, logReserveConfig); return new LoadTestAwareAppender(nonLoadTestTraceAppender, loadTestTraceAppender); } public void append(String log, boolean loadTest) throws IOException { if (loadTest) { - this.loadTestTraceAppender.append(log); + loadTestTraceAppender.append(log); } else { - this.nonLoadTestTraceAppender.append(log); + nonLoadTestTraceAppender.append(log); } } + @Override public void flush() throws IOException { - this.nonLoadTestTraceAppender.flush(); - this.loadTestTraceAppender.flush(); + nonLoadTestTraceAppender.flush(); + loadTestTraceAppender.flush(); } + @Override public void append(String log) throws IOException { throw new UnsupportedOperationException(); } + @Override public void cleanup() { - this.nonLoadTestTraceAppender.cleanup(); - this.loadTestTraceAppender.cleanup(); + nonLoadTestTraceAppender.cleanup(); + loadTestTraceAppender.cleanup(); } public void reset(String datePattern) {