From 6abeb297254942c48722c2da0e7c355d523fe307 Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Fri, 28 Jul 2017 08:23:01 +0000 Subject: [POLICY-72] replace openecomp for drools-pdp Change-Id: I8aa8e32d3ba10f7c655b50e97aaf6865514d4777 Signed-off-by: Guo Ruijing --- .../org/onap/policy/drools/eelf/EelfFeature.java | 72 ++++++++++ .../openecomp/policy/drools/eelf/EelfFeature.java | 72 ---------- ...p.policy.drools.features.PolicyEngineFeatureAPI | 1 + ...p.policy.drools.features.PolicyEngineFeatureAPI | 1 - .../org/onap/policy/drools/eelf/test/EElfTest.java | 146 +++++++++++++++++++++ .../policy/drools/eelf/test/EElfTest.java | 146 --------------------- 6 files changed, 219 insertions(+), 219 deletions(-) create mode 100644 feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java delete mode 100644 feature-eelf/src/main/java/org/openecomp/policy/drools/eelf/EelfFeature.java create mode 100644 feature-eelf/src/main/resources/META-INF/services/org.Onap.policy.drools.features.PolicyEngineFeatureAPI delete mode 100644 feature-eelf/src/main/resources/META-INF/services/org.openecomp.policy.drools.features.PolicyEngineFeatureAPI create mode 100644 feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java delete mode 100644 feature-eelf/src/test/java/org/openecomp/policy/drools/eelf/test/EElfTest.java (limited to 'feature-eelf/src') diff --git a/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java b/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java new file mode 100644 index 00000000..e0ada747 --- /dev/null +++ b/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java @@ -0,0 +1,72 @@ +/*- + * ============LICENSE_START======================================================= + * feature-eelf + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.drools.eelf; + +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.onap.policy.common.logging.eelf.Configuration; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.common.logging.flexlogger.Logger; +import org.onap.policy.drools.features.PolicyEngineFeatureAPI; +import org.onap.policy.drools.system.Main; +import org.onap.policy.drools.system.PolicyEngine; + +/** + * Feature EELF : Enables EELF Logging Libraries + */ +public class EelfFeature implements PolicyEngineFeatureAPI { + + @Override + public boolean beforeBoot(PolicyEngine engine, String cliArgs[]) { + + String logback = System.getProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY, + Main.LOGBACK_CONFIGURATION_FILE_DEFAULT); + Path logbackPath = Paths.get(logback); + + if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_PATH) == null) + System.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH, + logbackPath.toAbsolutePath().getParent().toString()); + + if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_NAME) == null) + System.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME, + logbackPath.getFileName().toString()); + + Logger logger = FlexLogger.getLogger(this.getClass(), true); + + if (logger.isInfoEnabled()) { + logger.info("eelf-feature: Property " + Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY + "=" + + System.getProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY)); + logger.info("eelf-feature: Property " + Configuration.PROPERTY_LOGGING_FILE_PATH + "=" + + System.getProperty(Configuration.PROPERTY_LOGGING_FILE_PATH)); + logger.info("eelf-feature: Property " + Configuration.PROPERTY_LOGGING_FILE_NAME + "=" + + System.getProperty(Configuration.PROPERTY_LOGGING_FILE_NAME)); + } + + return false; + } + + @Override + public int getSequenceNumber() { + return 0; + } + +} diff --git a/feature-eelf/src/main/java/org/openecomp/policy/drools/eelf/EelfFeature.java b/feature-eelf/src/main/java/org/openecomp/policy/drools/eelf/EelfFeature.java deleted file mode 100644 index 83e7a4be..00000000 --- a/feature-eelf/src/main/java/org/openecomp/policy/drools/eelf/EelfFeature.java +++ /dev/null @@ -1,72 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * feature-eelf - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed 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. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.policy.drools.eelf; - -import java.nio.file.Path; -import java.nio.file.Paths; - -import org.openecomp.policy.common.logging.eelf.Configuration; -import org.openecomp.policy.common.logging.flexlogger.FlexLogger; -import org.openecomp.policy.common.logging.flexlogger.Logger; -import org.openecomp.policy.drools.features.PolicyEngineFeatureAPI; -import org.openecomp.policy.drools.system.Main; -import org.openecomp.policy.drools.system.PolicyEngine; - -/** - * Feature EELF : Enables EELF Logging Libraries - */ -public class EelfFeature implements PolicyEngineFeatureAPI { - - @Override - public boolean beforeBoot(PolicyEngine engine, String cliArgs[]) { - - String logback = System.getProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY, - Main.LOGBACK_CONFIGURATION_FILE_DEFAULT); - Path logbackPath = Paths.get(logback); - - if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_PATH) == null) - System.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH, - logbackPath.toAbsolutePath().getParent().toString()); - - if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_NAME) == null) - System.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME, - logbackPath.getFileName().toString()); - - Logger logger = FlexLogger.getLogger(this.getClass(), true); - - if (logger.isInfoEnabled()) { - logger.info("eelf-feature: Property " + Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY + "=" + - System.getProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY)); - logger.info("eelf-feature: Property " + Configuration.PROPERTY_LOGGING_FILE_PATH + "=" + - System.getProperty(Configuration.PROPERTY_LOGGING_FILE_PATH)); - logger.info("eelf-feature: Property " + Configuration.PROPERTY_LOGGING_FILE_NAME + "=" + - System.getProperty(Configuration.PROPERTY_LOGGING_FILE_NAME)); - } - - return false; - } - - @Override - public int getSequenceNumber() { - return 0; - } - -} diff --git a/feature-eelf/src/main/resources/META-INF/services/org.Onap.policy.drools.features.PolicyEngineFeatureAPI b/feature-eelf/src/main/resources/META-INF/services/org.Onap.policy.drools.features.PolicyEngineFeatureAPI new file mode 100644 index 00000000..f2bcc4cb --- /dev/null +++ b/feature-eelf/src/main/resources/META-INF/services/org.Onap.policy.drools.features.PolicyEngineFeatureAPI @@ -0,0 +1 @@ +org.onap.policy.drools.eelf.EelfFeature diff --git a/feature-eelf/src/main/resources/META-INF/services/org.openecomp.policy.drools.features.PolicyEngineFeatureAPI b/feature-eelf/src/main/resources/META-INF/services/org.openecomp.policy.drools.features.PolicyEngineFeatureAPI deleted file mode 100644 index 70d1bb8e..00000000 --- a/feature-eelf/src/main/resources/META-INF/services/org.openecomp.policy.drools.features.PolicyEngineFeatureAPI +++ /dev/null @@ -1 +0,0 @@ -org.openecomp.policy.drools.eelf.EelfFeature diff --git a/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java b/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java new file mode 100644 index 00000000..f7003706 --- /dev/null +++ b/feature-eelf/src/test/java/org/onap/policy/drools/eelf/test/EElfTest.java @@ -0,0 +1,146 @@ +/*- + * ============LICENSE_START======================================================= + * feature-eelf + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + */ +package org.onap.policy.drools.eelf.test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Test; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.drools.eelf.EelfFeature; +import org.onap.policy.drools.system.Main; +import org.onap.policy.drools.system.PolicyEngine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.att.eelf.configuration.Configuration; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFLogger.Level; +import com.att.eelf.configuration.EELFManager; + +import ch.qos.logback.classic.LoggerContext; + +/** + * Logger Tests + */ +public class EElfTest { + + /** + * logback configuration location + */ + public final static String LOGBACK_CONFIGURATION_FILE_DEFAULT = "src/main/feature/config/logback-eelf.xml"; + + /** + * SLF4J Logger + */ + private final Logger slf4jLogger = LoggerFactory.getLogger(EElfTest.class); + + /** + * get all loggers + * @return list of all loggers + */ + protected List loggers() { + List loggers = new ArrayList(); + LoggerContext context = + (LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory(); + for (org.slf4j.Logger logger: context.getLoggerList()) { + loggers.add(logger.getName()); + } + slf4jLogger.info(loggers.toString()); + return loggers; + } + + /** + * Assert Log Levels are the same between an EELF Logger and an SLF4J Logger + * + * @param eelfLogger EELF Logger + * @param slf4jLogger SLF4J Logger + */ + protected void assertLogLevels(EELFLogger eelfLogger, Logger slf4jLogger) { + assertTrue(slf4jLogger.isDebugEnabled() == eelfLogger.isDebugEnabled()); + assertTrue(slf4jLogger.isInfoEnabled() == eelfLogger.isInfoEnabled()); + assertTrue(slf4jLogger.isErrorEnabled() == eelfLogger.isErrorEnabled()); + assertTrue(slf4jLogger.isWarnEnabled() == eelfLogger.isWarnEnabled()); + assertTrue(slf4jLogger.isTraceEnabled() == eelfLogger.isTraceEnabled()); + } + + @Test + public void slf4jLog() { + + /* standard slf4j using defaults */ + + slf4jLogger.info("slf4j info"); + + List loggers = loggers(); + + assertFalse(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.ERROR_LOGGER_NAME)); + assertFalse(loggers.contains(Configuration.METRICS_LOGGER_NAME)); + + /* set logback configuration */ + + System.setProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY, + LOGBACK_CONFIGURATION_FILE_DEFAULT); + + /* set up eelf throuth common loggings library */ + + EelfFeature feature = new EelfFeature(); + feature.beforeBoot(PolicyEngine.manager, null); + + loggers = loggers(); + assertTrue(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.ERROR_LOGGER_NAME)); + assertTrue(loggers.contains(Configuration.METRICS_LOGGER_NAME)); + + EELFLogger eelfAuditLogger = EELFManager.getInstance().getAuditLogger(); + Logger slf4jAuditLogger = org.slf4j.LoggerFactory.getLogger(Configuration.AUDIT_LOGGER_NAME); + org.onap.policy.common.logging.flexlogger.Logger flexLogger = + FlexLogger.getLogger(EElfTest.class, true); + + /* generate an error entry */ + + Exception testException = new IllegalStateException("exception test"); + flexLogger.error("flex-logger exception", testException); + EELFManager.getInstance().getErrorLogger().error("eelf-logger exception", testException); + org.slf4j.LoggerFactory.getLogger(Configuration.ERROR_LOGGER_NAME).error("slf4j-logger", testException); + + + /* generate an audit entry through all logs */ + + flexLogger.audit("flexlogger audit"); + eelfAuditLogger.info("eelf audit"); + slf4jAuditLogger.info("slf4j audit"); + + /* check log levels in eelf and standard slf4j change in both directions */ + + /* eelf initiated */ + eelfAuditLogger.setLevel(Level.ERROR); + assertLogLevels(eelfAuditLogger, slf4jAuditLogger); + + /* slf4j initiated */ + ((ch.qos.logback.classic.Logger) slf4jLogger).setLevel((ch.qos.logback.classic.Level.INFO)); + assertLogLevels(eelfAuditLogger, slf4jAuditLogger); + } +} diff --git a/feature-eelf/src/test/java/org/openecomp/policy/drools/eelf/test/EElfTest.java b/feature-eelf/src/test/java/org/openecomp/policy/drools/eelf/test/EElfTest.java deleted file mode 100644 index 6023622d..00000000 --- a/feature-eelf/src/test/java/org/openecomp/policy/drools/eelf/test/EElfTest.java +++ /dev/null @@ -1,146 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * feature-eelf - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed 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. - * ============LICENSE_END========================================================= - */ -package org.openecomp.policy.drools.eelf.test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; -import org.openecomp.policy.common.logging.flexlogger.FlexLogger; -import org.openecomp.policy.drools.eelf.EelfFeature; -import org.openecomp.policy.drools.system.Main; -import org.openecomp.policy.drools.system.PolicyEngine; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.att.eelf.configuration.Configuration; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFLogger.Level; -import com.att.eelf.configuration.EELFManager; - -import ch.qos.logback.classic.LoggerContext; - -/** - * Logger Tests - */ -public class EElfTest { - - /** - * logback configuration location - */ - public final static String LOGBACK_CONFIGURATION_FILE_DEFAULT = "src/main/feature/config/logback-eelf.xml"; - - /** - * SLF4J Logger - */ - private final Logger slf4jLogger = LoggerFactory.getLogger(EElfTest.class); - - /** - * get all loggers - * @return list of all loggers - */ - protected List loggers() { - List loggers = new ArrayList(); - LoggerContext context = - (LoggerContext) org.slf4j.LoggerFactory.getILoggerFactory(); - for (org.slf4j.Logger logger: context.getLoggerList()) { - loggers.add(logger.getName()); - } - slf4jLogger.info(loggers.toString()); - return loggers; - } - - /** - * Assert Log Levels are the same between an EELF Logger and an SLF4J Logger - * - * @param eelfLogger EELF Logger - * @param slf4jLogger SLF4J Logger - */ - protected void assertLogLevels(EELFLogger eelfLogger, Logger slf4jLogger) { - assertTrue(slf4jLogger.isDebugEnabled() == eelfLogger.isDebugEnabled()); - assertTrue(slf4jLogger.isInfoEnabled() == eelfLogger.isInfoEnabled()); - assertTrue(slf4jLogger.isErrorEnabled() == eelfLogger.isErrorEnabled()); - assertTrue(slf4jLogger.isWarnEnabled() == eelfLogger.isWarnEnabled()); - assertTrue(slf4jLogger.isTraceEnabled() == eelfLogger.isTraceEnabled()); - } - - @Test - public void slf4jLog() { - - /* standard slf4j using defaults */ - - slf4jLogger.info("slf4j info"); - - List loggers = loggers(); - - assertFalse(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); - assertFalse(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); - assertFalse(loggers.contains(Configuration.ERROR_LOGGER_NAME)); - assertFalse(loggers.contains(Configuration.METRICS_LOGGER_NAME)); - - /* set logback configuration */ - - System.setProperty(Main.LOGBACK_CONFIGURATION_FILE_SYSTEM_PROPERTY, - LOGBACK_CONFIGURATION_FILE_DEFAULT); - - /* set up eelf throuth common loggings library */ - - EelfFeature feature = new EelfFeature(); - feature.beforeBoot(PolicyEngine.manager, null); - - loggers = loggers(); - assertTrue(loggers.contains(Configuration.DEBUG_LOGGER_NAME)); - assertTrue(loggers.contains(Configuration.AUDIT_LOGGER_NAME)); - assertTrue(loggers.contains(Configuration.ERROR_LOGGER_NAME)); - assertTrue(loggers.contains(Configuration.METRICS_LOGGER_NAME)); - - EELFLogger eelfAuditLogger = EELFManager.getInstance().getAuditLogger(); - Logger slf4jAuditLogger = org.slf4j.LoggerFactory.getLogger(Configuration.AUDIT_LOGGER_NAME); - org.openecomp.policy.common.logging.flexlogger.Logger flexLogger = - FlexLogger.getLogger(EElfTest.class, true); - - /* generate an error entry */ - - Exception testException = new IllegalStateException("exception test"); - flexLogger.error("flex-logger exception", testException); - EELFManager.getInstance().getErrorLogger().error("eelf-logger exception", testException); - org.slf4j.LoggerFactory.getLogger(Configuration.ERROR_LOGGER_NAME).error("slf4j-logger", testException); - - - /* generate an audit entry through all logs */ - - flexLogger.audit("flexlogger audit"); - eelfAuditLogger.info("eelf audit"); - slf4jAuditLogger.info("slf4j audit"); - - /* check log levels in eelf and standard slf4j change in both directions */ - - /* eelf initiated */ - eelfAuditLogger.setLevel(Level.ERROR); - assertLogLevels(eelfAuditLogger, slf4jAuditLogger); - - /* slf4j initiated */ - ((ch.qos.logback.classic.Logger) slf4jLogger).setLevel((ch.qos.logback.classic.Level.INFO)); - assertLogLevels(eelfAuditLogger, slf4jAuditLogger); - } -} -- cgit 1.2.3-korg