From 732d0e17adf0d6b4d522432164b05d1b63c79988 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 18 Nov 2021 17:48:41 +0800 Subject: [PATCH 1/4] feat(Add a new feature): update the abstract log api in compoent Update abstract apis of log4j and logback in compoent, so the users only need to refer to the corresponding abstract apis when configuring, and don't care about the specific implementation. BREAKING CHANGE: #38 --- .../telemetry/log/agent/CapaLog4jAppenderAgent.java | 2 +- .../telemetry/log/agent/CapaLogbackAppenderAgent.java | 2 +- .../telemetry/log/{ => appender}/CapaLog4jAppender.java | 9 ++++----- .../log/{ => appender}/CapaLogbackAppender.java | 8 ++++---- .../rxcloud/capa/spi/demo/log/DemoLog4jAppender.java | 2 +- .../rxcloud/capa/spi/demo/log/DemoLogbackAppender.java | 2 +- .../src/main/resources/capa-component-log.properties | 4 ++-- 7 files changed, 14 insertions(+), 15 deletions(-) rename sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/{ => appender}/CapaLog4jAppender.java (79%) rename sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/{ => appender}/CapaLogbackAppender.java (78%) 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 656311c..1339ff6 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 @@ -21,7 +21,7 @@ * @Date 2021/11/17 14:16 */ -import group.rxcloud.capa.component.telemetry.log.CapaLog4jAppender; +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; 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 0eb32ef..8e97a2e 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,7 @@ package group.rxcloud.capa.component.telemetry.log.agent; import ch.qos.logback.core.UnsynchronizedAppenderBase; -import group.rxcloud.capa.component.telemetry.log.CapaLogbackAppender; +import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; import group.rxcloud.capa.infrastructure.config.CapaProperties; import java.lang.reflect.Constructor; diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLog4jAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java similarity index 79% rename from sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLog4jAppender.java rename to sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java index 1716505..1ce66f3 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLog4jAppender.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLog4jAppender.java @@ -14,20 +14,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package group.rxcloud.capa.component.telemetry.log; - +package group.rxcloud.capa.component.telemetry.log.appender; import org.apache.logging.log4j.core.LogEvent; /** - * The interface of the log4j appender impl.Implement this and provide your specific impl. + * The abstract api of the log4j appender impl.Implement this and provide your specific impl. */ -public interface CapaLog4jAppender { +public abstract class CapaLog4jAppender { /** * Deal with the log. * * @param event The log event. */ - void appendLog(LogEvent event); + public abstract void appendLog(LogEvent event); } diff --git a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLogbackAppender.java b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java similarity index 78% rename from sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLogbackAppender.java rename to sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java index 869b72d..7aabbe1 100644 --- a/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/CapaLogbackAppender.java +++ b/sdk-component/src/main/java/group/rxcloud/capa/component/telemetry/log/appender/CapaLogbackAppender.java @@ -14,18 +14,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package group.rxcloud.capa.component.telemetry.log; +package group.rxcloud.capa.component.telemetry.log.appender; /** - * The interface of the logback appender impl.Implement this and provide your specific impl. + * The abstract api of the logback appender impl.Implement this and provide your specific impl. */ -public interface CapaLogbackAppender { +public abstract class CapaLogbackAppender { /** * Deal with the log. * * @param event The log event. */ - void appendLog(EVENT event); + abstract void appendLog(EVENT event); } diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java index 24babde..ef2b7e1 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java @@ -16,7 +16,7 @@ */ package group.rxcloud.capa.spi.demo.log; -import group.rxcloud.capa.component.telemetry.log.CapaLog4jAppender; +import group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender; import org.apache.logging.log4j.core.LogEvent; diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java index 371db21..6e36a61 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java @@ -17,7 +17,7 @@ package group.rxcloud.capa.spi.demo.log; import ch.qos.logback.classic.spi.ILoggingEvent; -import group.rxcloud.capa.component.telemetry.log.CapaLogbackAppender; +import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; public class DemoLogbackAppender implements CapaLogbackAppender { 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 e417dcd..fa0373e 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.CapaLog4jAppender=group.rxcloud.capa.spi.demo.log.DemoLog4jAppender -group.rxcloud.capa.component.telemetry.log.CapaLogbackAppender=group.rxcloud.capa.spi.demo.log.DemoLogbackAppender \ No newline at end of file +group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender=group.rxcloud.capa.spi.demo.log.DemoLog4jAppender +group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender=group.rxcloud.capa.spi.demo.log.DemoLogbackAppender \ No newline at end of file From da37ae3700116d391c1e517ea3f89b9834588dea Mon Sep 17 00:00:00 2001 From: = Date: Thu, 18 Nov 2021 18:39:31 +0800 Subject: [PATCH 2/4] style(update a new feature): update the abstract log api in compoent Update abstract apis of log4j and logback in compoent, so the users only need to refer to the corresponding abstract apis when configuring, and don't care about the specific implementation. BREAKING CHANGE: #38 --- .../component/telemetry/log/appender/CapaLogbackAppender.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7aabbe1..45b8963 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 @@ -27,5 +27,5 @@ public abstract class CapaLogbackAppender { * * @param event The log event. */ - abstract void appendLog(EVENT event); + public abstract void appendLog(EVENT event); } From 968d71a2cfd100a72aa90ca6e591497fcbb9b31c Mon Sep 17 00:00:00 2001 From: = Date: Thu, 18 Nov 2021 19:29:41 +0800 Subject: [PATCH 3/4] update demo --- .../capa/spi/demo/{ => telemetry}/log/DemoLog4jAppender.java | 4 ++-- .../spi/demo/{ => telemetry}/log/DemoLogbackAppender.java | 4 ++-- sdk-spi-demo/src/main/resources/capa-component-log.properties | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/{ => telemetry}/log/DemoLog4jAppender.java (90%) rename sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/{ => telemetry}/log/DemoLogbackAppender.java (89%) diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java similarity index 90% rename from sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java rename to sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java index ef2b7e1..80e8ab4 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLog4jAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLog4jAppender.java @@ -14,13 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package group.rxcloud.capa.spi.demo.log; +package group.rxcloud.capa.spi.demo.telemetry.log; import group.rxcloud.capa.component.telemetry.log.appender.CapaLog4jAppender; import org.apache.logging.log4j.core.LogEvent; -public class DemoLog4jAppender implements CapaLog4jAppender { +public class DemoLog4jAppender extends CapaLog4jAppender { @Override public void appendLog(LogEvent event) { diff --git a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java similarity index 89% rename from sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java rename to sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java index 6e36a61..ad7c3a2 100644 --- a/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/log/DemoLogbackAppender.java +++ b/sdk-spi-demo/src/main/java/group/rxcloud/capa/spi/demo/telemetry/log/DemoLogbackAppender.java @@ -14,12 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package group.rxcloud.capa.spi.demo.log; +package group.rxcloud.capa.spi.demo.telemetry.log; import ch.qos.logback.classic.spi.ILoggingEvent; import group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender; -public class DemoLogbackAppender implements CapaLogbackAppender { +public class DemoLogbackAppender extends 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 fa0373e..cdf5815 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.log.DemoLog4jAppender -group.rxcloud.capa.component.telemetry.log.appender.CapaLogbackAppender=group.rxcloud.capa.spi.demo.log.DemoLogbackAppender \ No newline at end of file +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 From 232c4056f8ed6c9b9fd725eba2b85cee7d977e6c Mon Sep 17 00:00:00 2001 From: = Date: Thu, 18 Nov 2021 21:02:45 +0800 Subject: [PATCH 4/4] make dependency optional --- sdk-component/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk-component/pom.xml b/sdk-component/pom.xml index 2dfa33a..b55ff1d 100644 --- a/sdk-component/pom.xml +++ b/sdk-component/pom.xml @@ -76,12 +76,14 @@ org.apache.logging.log4j log4j-core + true ${log4j.version} ch.qos.logback logback-core + true ${logback.version}