From 491ec30f2760508e3197afb1c1f413284254558a Mon Sep 17 00:00:00 2001 From: = Date: Mon, 22 Nov 2021 10:43:14 +0800 Subject: [PATCH 1/2] style(update a new feature): update the abstract log api in compoent Change the abstract layer of log to interface, so that the concrete implementation can inherit the abstract class of logback or log4j to complete related processing. BREAKING CHANGE: #38 --- .../component/telemetry/log/appender/CapaLog4jAppender.java | 4 ++-- .../component/telemetry/log/appender/CapaLogbackAppender.java | 4 ++-- .../capa/spi/demo/telemetry/log/DemoLog4jAppender.java | 2 +- .../capa/spi/demo/telemetry/log/DemoLogbackAppender.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java index 1ce66f3..700b243 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java @@ -21,12 +21,12 @@ /** * The abstract api of the log4j appender impl.Implement this and provide your specific impl. */ -public abstract class CapaLog4jAppender { +public interface CapaLog4jAppender { /** * Deal with the log. * * @param event The log event. */ - public abstract void appendLog(LogEvent event); + void appendLog(LogEvent event); } diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java index 45b8963..8c2f9f4 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java @@ -20,12 +20,12 @@ /** * The abstract api of the logback appender impl.Implement this and provide your specific impl. */ -public abstract class CapaLogbackAppender { +public interface CapaLogbackAppender { /** * Deal with the log. * * @param event The log event. */ - public abstract void appendLog(EVENT event); + void appendLog(EVENT event); } diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java index 80e8ab4..3e7b4f0 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java @@ -20,7 +20,7 @@ import org.apache.logging.log4j.core.LogEvent; -public class DemoLog4jAppender extends CapaLog4jAppender { +public class DemoLog4jAppender implements CapaLog4jAppender { @Override public void appendLog(LogEvent event) { diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java index ad7c3a2..7288349 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java @@ -19,7 +19,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; -public class DemoLogbackAppender extends CapaLogbackAppender { +public class DemoLogbackAppender implements CapaLogbackAppender { public DemoLogbackAppender() { } From 4bb42df0b69dc18844617734c9c6fbd3c2021ec5 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 22 Nov 2021 15:16:40 +0800 Subject: [PATCH 2/2] style(update a new feature): update the abstract log api in compoent Change the abstract layer of log to interface, so that the concrete implementation can inherit the abstract class of logback or log4j to complete related processing. BREAKING CHANGE: #38 --- .../log/agent/CapaLog4jAppenderAgent.java | 17 ++++++---- .../log/agent/CapaLogbackAppenderAgent.java | 14 +++++++- .../log/appender/CapaLog4jAppender.java | 32 ------------------- .../log/appender/CapaLogbackAppender.java | 31 ------------------ .../demo/telemetry/log/DemoLog4jAppender.java | 5 ++- .../telemetry/log/DemoLogbackAppender.java | 4 +-- .../resources/capa-component-log.properties | 4 +-- 7 files changed, 30 insertions(+), 77 deletions(-) delete mode 100644 sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java delete mode 100644 sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLog4jAppenderAgent.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLog4jAppenderAgent.java index 1339ff6..37386e8 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLog4jAppenderAgent.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLog4jAppenderAgent.java @@ -16,12 +16,6 @@ */ package group.rxcloud.capa.component.telemetry.log.agent; -/** - * @Author gpeng - * @Date 2021/11/17 14:16 - */ - -import group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender; import group.rxcloud.capa.infrastructure.config.CapaProperties; import org.apache.logging.log4j.core.Appender; import org.apache.logging.log4j.core.Filter; @@ -116,5 +110,16 @@ public void append(LogEvent event) { logAppender.appendLog(event); } + /** + * The abstract api of the log4j appender impl.Implement this and provide your specific impl. + */ + public interface CapaLog4jAppender { + /** + * Deal with the log. + * + * @param event The log event. + */ + void appendLog(LogEvent event); + } } diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLogbackAppenderAgent.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLogbackAppenderAgent.java index 8e97a2e..ba43eed 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLogbackAppenderAgent.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/agent/CapaLogbackAppenderAgent.java @@ -17,7 +17,6 @@ package group.rxcloud.capa.component.telemetry.log.agent; import ch.qos.logback.core.UnsynchronizedAppenderBase; -import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; import group.rxcloud.capa.infrastructure.config.CapaProperties; import java.lang.reflect.Constructor; @@ -73,4 +72,17 @@ public static CapaLogbackAppender buildCapaLogbackAppender() { protected void append(EVENT event) { logbackAppender.appendLog(event); } + + /** + * The abstract api of the logback appender impl.Implement this and provide your specific impl. + */ + public interface CapaLogbackAppender { + + /** + * Deal with the log. + * + * @param event The log event. + */ + void appendLog(EVENT event); + } } diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java deleted file mode 100644 index 700b243..0000000 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package group.rxcloud.capa.component.telemetry.log.appender; - -import org.apache.logging.log4j.core.LogEvent; - -/** - * The abstract api of the log4j appender impl.Implement this and provide your specific impl. - */ -public interface CapaLog4jAppender { - - /** - * Deal with the log. - * - * @param event The log event. - */ - void appendLog(LogEvent event); -} diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java deleted file mode 100644 index 8c2f9f4..0000000 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package group.rxcloud.capa.component.telemetry.log.appender; - - -/** - * The abstract api of the logback appender impl.Implement this and provide your specific impl. - */ -public interface CapaLogbackAppender { - - /** - * Deal with the log. - * - * @param event The log event. - */ - void appendLog(EVENT event); -} diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java index 3e7b4f0..add96e4 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java @@ -16,11 +16,10 @@ */ package group.rxcloud.capa.spi.demo.telemetry.log; -import group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender; +import group.rxcloud.capa.component.telemetry.log.agent.CapaLog4jAppenderAgent; import org.apache.logging.log4j.core.LogEvent; - -public class DemoLog4jAppender implements CapaLog4jAppender { +public class DemoLog4jAppender implements CapaLog4jAppenderAgent.CapaLog4jAppender { @Override public void appendLog(LogEvent event) { diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java index 7288349..d11320d 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java @@ -17,9 +17,9 @@ package group.rxcloud.capa.spi.demo.telemetry.log; import ch.qos.logback.classic.spi.ILoggingEvent; -import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; +import group.rxcloud.capa.component.telemetry.log.agent.CapaLogbackAppenderAgent; -public class DemoLogbackAppender implements CapaLogbackAppender { +public class DemoLogbackAppender implements CapaLogbackAppenderAgent.CapaLogbackAppender { public DemoLogbackAppender() { } diff --git a/sdk-spi-demo/src/main/resources/capa-component-log.properties b/sdk-spi-demo/src/main/resources/capa-component-log.properties index cdf5815..879e78e 100644 --- a/sdk-spi-demo/src/main/resources/capa-component-log.properties +++ b/sdk-spi-demo/src/main/resources/capa-component-log.properties @@ -1,2 +1,2 @@ -group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender=group.rxcloud.capa.spi.demo.telemetry.log.DemoLog4jAppender -group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender=group.rxcloud.capa.spi.demo.telemetry.log.DemoLogbackAppender \ No newline at end of file +group.rxcloud.capa.component.telemetry.log.agent.CapaLog4jAppenderAgent$CapaLog4jAppender=group.rxcloud.capa.spi.demo.telemetry.log.DemoLog4jAppender +group.rxcloud.capa.component.telemetry.log.agent.CapaLogbackAppenderAgent$CapaLogbackAppender=group.rxcloud.capa.spi.demo.telemetry.log.DemoLogbackAppender \ No newline at end of file