From e459a8ba63f42d4fe43bff1eef0e7ca8e53732b7 Mon Sep 17 00:00:00 2001 From: Robert Patrick Date: Tue, 20 Dec 2022 14:56:43 -0600 Subject: [PATCH] filtering out 12.2.1.0 CIE error log messages from the Summary Handler --- .../deploy/logging/SummaryHandler.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/core/src/main/java/oracle/weblogic/deploy/logging/SummaryHandler.java b/core/src/main/java/oracle/weblogic/deploy/logging/SummaryHandler.java index 1ed316f2bb..b8d3c4e7d5 100644 --- a/core/src/main/java/oracle/weblogic/deploy/logging/SummaryHandler.java +++ b/core/src/main/java/oracle/weblogic/deploy/logging/SummaryHandler.java @@ -39,6 +39,12 @@ public class SummaryHandler extends WLSDeployLogEndHandler { private static final int DEFAULT_MEMORY_BUFFER_SIZE = 3000; private static final String DEFAULT_SIZE_PROPERTY_VALUE = Integer.toString(DEFAULT_MEMORY_BUFFER_SIZE); + // In 12.2.1.0.0, cd(), runCmd(), ls() errors percolate up into this handler. Use these constants + // to filter out the errors so that they are not counted. + // + private static final String CIE_EXCEPTION_CLASS = "com.oracle.cie.domain.script.jython.CommandExceptionHandler"; + private static final String CIE_EXCEPTION_METHOD = "handleException"; + private final int bufferSize; private WLSDeployContext context; private boolean suppressOutput = false; @@ -304,6 +310,12 @@ private class LevelHandler extends MemoryHandler { @Override public synchronized void publish(LogRecord logRecord) { if (logRecord.getLevel().equals(getLevel())) { + if (getLevel() == Level.SEVERE && isCieErrorLog(logRecord)) { + // Do not publish or count WLS 12.2.1.0 error logs from the CIE class + // related to cd(), runCmd(), ls(), etc. + // + return; + } ++totalRecords; super.publish(logRecord); } @@ -312,5 +324,14 @@ public synchronized void publish(LogRecord logRecord) { int getTotalRecords() { return totalRecords; } + + private boolean isCieErrorLog(LogRecord logRecord) { + if (logRecord.getLevel() == Level.SEVERE + && CIE_EXCEPTION_CLASS.equals(logRecord.getSourceClassName()) + && CIE_EXCEPTION_METHOD.equals(logRecord.getSourceMethodName())) { + return true; + } + return false; + } } }