diff --git a/common-logging/pom.xml b/common-logging/pom.xml
index d3e46d2..f455569 100644
--- a/common-logging/pom.xml
+++ b/common-logging/pom.xml
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>com.att.eelf</groupId>
             <artifactId>eelf-core</artifactId>
-            <version>1.0.1-oss</version>
+            <version>2.0.0-oss</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.powermock</groupId>
@@ -71,6 +71,11 @@
             <artifactId>powermock-api-mockito2</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
@@ -114,7 +119,7 @@
             <plugin>
                 <groupId>com.att.eelf</groupId>
                 <artifactId>eelf-maven-plugin</artifactId>
-                <version>0.0.1</version>
+                <version>2.0.0-oss</version>
                 <executions>
                     <execution>
                         <phase>install</phase>
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java
index 9116051..629ead8 100644
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java
+++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/MessageCodes.java
@@ -20,13 +20,13 @@
 
 package org.onap.policy.common.logging.eelf;
 
-import com.att.eelf.i18n.EELFResolvableErrorEnum;
+import com.att.eelf.i18n.EELFResolvableResourceEnum;
 import com.att.eelf.i18n.EELFResourceManager;
 
 /**
  * MessageCodes contains all the messagge codes for EELF logging messages.
  */
-public enum MessageCodes implements EELFResolvableErrorEnum {
+public enum MessageCodes implements EELFResolvableResourceEnum {
     // Below is a list of Error Messages taken from com.att.research.xacml.api XACMLErrorConstants
     // found under:
     // policy-engine\XACML\src\main\java\com\att\research\xacml\api\XACMLErrorConstants.java
diff --git a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java
index 870e63a..1d95f1f 100644
--- a/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java
+++ b/common-logging/src/main/java/org/onap/policy/common/logging/eelf/PolicyLogger.java
@@ -71,13 +71,13 @@
  */
 public class PolicyLogger {
 
-    private static EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger();
+    private static EELFLogger errorLogger = EELFManager.getErrorLogger();
 
-    private static EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
+    private static EELFLogger metricsLogger = EELFManager.getMetricsLogger();
 
-    private static EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
+    private static EELFLogger auditLogger = EELFManager.getAuditLogger();
 
-    private static EELFLogger debugLogger = EELFManager.getInstance().getDebugLogger();
+    private static EELFLogger debugLogger = EELFManager.getDebugLogger();
 
     private static final String POLICY_LOGGER = "PolicyLogger";
 
diff --git a/integrity-audit/pom.xml b/integrity-audit/pom.xml
index 86f5db1..0389569 100644
--- a/integrity-audit/pom.xml
+++ b/integrity-audit/pom.xml
@@ -44,6 +44,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-mockito2</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-ext</artifactId>
             <version>1.8.0-beta4</version>
