[POLICY-30] remove problematic layers

add configurability through telemetry API

Change-Id: I77ebde12a417d421b98646c32dc74824f4494c2e
Signed-off-by: Jorge Hernandez <jh1730@att.com>
diff --git a/policy-management/src/main/server/config/controller.properties.README b/policy-management/src/main/server/config/controller.properties.README
deleted file mode 100644
index e5a049c..0000000
--- a/policy-management/src/main/server/config/controller.properties.README
+++ /dev/null
@@ -1,172 +0,0 @@
-###
-# ============LICENSE_START=======================================================
-# ONAP POLICY
-# ================================================================================
-# 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=========================================================
-###
-#
-# *-controller.properties configuration
-#
-#
-# The <controller-name>-controller.properties file define the
-# configuration aspects of a give controller at initialization time.
-#
-# It contains 3 major sections:
-#
-# 1. CONTROLLER
-# 2. DMAAP
-# 4. UEB
-# 5. DROOLS
-#
-# 1. CONTROLLER
-#
-# controller.name: controller unique name identifier.
-#
-# 2. DMAAP:
-#    2.1. DMAAP Sources Information
-#         2.1.1. Topics that this controller supports over DMAAP.
-#         2.1.1. DMAAP Network Information for each topic.
-#         2.1.2. Decoders information for each topic to map network input to
-#                an object that will be injected into its appropriate drools
-#                sessions.
-#         2.1.3. Filtering information for each decoder, to filter out from
-#                drools, messages that should not be processed. 
-#    2.2. DMAAP Sinks Information
-#         2.2.1. Topics that this controller supports over DMAAP.
-#         2.2.2. DMAAP Network Information for each topic.
-#         2.2.3. Encoders information for each topic to map a model object
-#                to serialize network output that will be send over the 
-#                appropriate DMAAP topic according to its network information.
-#
-# 2.1 DMAAP Sources
-#
-# dmaap.source.topics:  comma separated list of DMAAP topics source of events.
-# dmaap.source.topics.<aTopic>.servers:  comma separated list of DMAAP servers to poll for events.
-# [optional] dmaap.source.topics.<aTopic>.apiKey=<APIKEY>  : api key       
-# [optional] dmaap.source.topics.<aTopic>.apiSecret=<APISECRET>  : api secret
-# [optional] dmaap.source.topics.<aTopic>.consumerGroup=<CONSUMER-GROUP> : consumer group
-# [optional] dmaap.source.topics.<aTopic>.consumerInstance=<CONSUMER-INSTANCE>  : consumer instance
-# dmaap.source.topics.<aTopic>.events:  comma separated list of classes to which an event can be mapped to,
-#    where <aTopic> must be declared in dmaap.source.topics
-# [optional] dmaap.source.topics.<aTopic>.events.<eventClass>.filter:  comma separated list of conditions in the form of 
-#      pairs of "<field-name>=<field-value-regex>" values, where <field-name> identifies a field of the event, and
-#      <field-value-regex> is a regular expression that that field's value in the event must match
-#      against each particular instantiation of the event for this controller.   Note that multiple 
-#      "<field-name>=<field-value-regex>" are evaluated for acceptance by AND'ing each condition.
-#      Further, <aTopic> must be declared in dmaap.source.topics, and 
-#      <eventClass> in dmaap.source.topics.<aTopic>.events.
-# [optional] dmaap.source.topics.<aTopic>.events.custom.gson:  comma separated pair, where the first item
-#      is a class in the model that contains a gson parser, and the second is the actual gson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-# [optional] dmaap.source.topics.<aTopic>.events.custom.jackson:  comma separated pair, where the first item
-#      is a class in the model that contains a jackson parser, and the second is the actual jackson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-#
-# 2.2 DMAAP Sinks
-#
-# dmaap.sink.topics:  comma separated list of DMAAP topics destination of locally produced events.
-# dmaap.sink.topics.<aTopic>.servers:  comma separated list of DMAAP servers to send events.
-# [optional] dmaap.sink.topics.<aTopic>.apiKey=<API-KEY>  : api key       
-# [optional] dmaap.sink.topics.<aTopic>.apiSecret=<API-SECRET>  : api secret
-# [optional] dmaap.sink.topics.<aTopic>.partitionKey=<PARTITIONKEY> : partition key
-# dmaap.sink.topics.<aTopic>.events:  comma separated list of classes to which an event can be mapped to,
-#    where <aTopic> must be declared in dmaap.sink.topics
-# [optional] dmaap.sink.topics.<aTopic>.events.custom.gson:  comma separated pair, where the first item
-#      is a class in the model that contains a gson parser, and the second is the actual gson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-# [optional] dmaap.sink.topics.<aTopic>.events.custom.jackson:  comma separated pair, where the first item
-#      is a class in the model that contains a jackson parser, and the second is the actual jackson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-#
-# 2. UEB:
-#    2.1. UEB Sources Information
-#         2.1.1. Topics that this controller supports over UEB.
-#         2.1.1. UEB Network Information for each topic.
-#         2.1.2. Decoders information for each topic to map network input to
-#                an object that will be injected into its appropriate drools
-#                sessions.
-#         2.1.3. Filtering information for each decoder, to filter out from
-#                drools, messages that should not be processed. 
-#    2.2. UEB Sinks Information
-#         2.2.1. Topics that this controller supports over UEB.
-#         2.2.2. UEB Network Information for each topic.
-#         2.2.3. Encoders information for each topic to map a model object
-#                to serialize network output that will be send over the 
-#                appropriate UEB topic according to its network information.
-#
-#
-# 2.1 UEB Sources
-#
-# ueb.source.topics:  comma separated list of UEB topics source of events.
-# ueb.source.topics.<aTopic>.servers:  comma separated list of UEB servers to poll for events.
-# [optional] ueb.source.topics.<aTopic>.apiKey=<API-KEY>  : api key       
-# [optional] ueb.source.topics.<aTopic>.apiSecret=<API-SECRET>  : api secret
-# [optional] ueb.source.topics.<aTopic>.consumerGroup=<CONSUMER-GROUP> : consumer group
-# [optional] ueb.source.topics.<aTopic>.consumerInstance=<CONSUMER-INSTANCE>  : consumer instance
-# ueb.source.topics.<aTopic>.events:  comma separated list of classes to which an event can be mapped to,
-#    where <aTopic> must be declared in ueb.source.topics
-# ueb.source.topics.<aTopic>.events.<eventClass>.filter:  comma separated list of conditions in the form of 
-#      pairs of "<field-name>=<field-value-regex>" values, where <field-name> identifies a field of the event, and
-#      <field-value-regex> is a regular expression that that field's value in the event must match
-#      against each particular instantiation of the event for this controller.   Note that multiple 
-#      "<field-name>=<field-value-regex>" are evaluated for acceptance by AND'ing each condition.
-#      Further, <aTopic> must be declared in ueb.source.topics, and 
-#      <eventClass> in ueb.source.topics.<aTopic>.events
-# ueb.source.topics.<aTopic>.events:  comma separated list of classes to which an event can be mapped to,
-#    where <aTopic> must be declared in dmaap.source.topics
-# [optional] ueb.source.topics.<aTopic>.events.<eventClass>.filter:  comma separated list of conditions in the form of 
-#      pairs of "<field-name>=<field-value-regex>" values, where <field-name> identifies a field of the event, and
-#      <field-value-regex> is a regular expression that that field's value in the event must match
-#      against each particular instantiation of the event for this controller.   Note that multiple 
-#      "<field-name>=<field-value-regex>" are evaluated for acceptance by AND'ing each condition.
-#      Further, <aTopic> must be declared in dmaap.source.topics, and 
-#      <eventClass> in dmaap.source.topics.<aTopic>.events.
-# [optional] ueb.source.topics.<aTopic>.events.custom.gson:  comma separated pair, where the first item
-#      is a class in the model that contains a gson parser, and the second is the actual gson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-# [optional] ueb.source.topics.<aTopic>.events.custom.jackson:  comma separated pair, where the first item
-#      is a class in the model that contains a jackson parser, and the second is the actual jackson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-#
-# 2.1 UEB Sinks
-#
-# ueb.sink.topics:  comma separated list of UEB topics destination of locally produced events.
-# ueb.sink.topics.<aTopic>.servers:  comma separated list of UEB servers to send events.
-# [optional] ueb.sink.topics.<aTopic>.apiKey=<APIKEY>  : api key       
-# [optional] ueb.sink.topics.<aTopic>.apiSecret=<APISECRET>  : api secret
-# [optional] ueb.sink.topics.<aTopic>.partitionKey=<PARTITIONKEY> : partition key
-# ueb.sink.topics.<aTopic>.events:  comma separated list of classes to which an event can be mapped to,
-#    where <aTopic> must be declared in ueb.sink.topics
-# [optional] ueb.sink.topics.<aTopic>.events.custom.gson:  comma separated pair, where the first item
-#      is a class in the model that contains a gson parser, and the second is the actual gson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-# [optional] ueb.sink.topics.<aTopic>.events.custom.jackson:  comma separated pair, where the first item
-#      is a class in the model that contains a jackson parser, and the second is the actual jackson parser in
-#      the class.   This setting overrides the PDP-D generic framework parsers with an specific model
-#      provided one
-#
-# 3. DROOLS (Maven Group Coordinates):
-# 
-# rules.groupId: maven group id of rules jar file
-# rules.artifactId: maven artifact id of rules jar file
-# rules.version: comma separated list of versions supported and detected that include the drl.
diff --git a/policy-management/src/main/server/config/log4j.properties b/policy-management/src/main/server/config/log4j.properties
deleted file mode 100644
index 6ad2564..0000000
--- a/policy-management/src/main/server/config/log4j.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###
-# ============LICENSE_START=======================================================
-# policy-management
-# ================================================================================
-# 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=========================================================
-###
-
-log4j.rootLogger=INFO,stdout
-
-log4j.logger.org.apache.http.headers=INFO,stdout
-log4j.logger.org.apache.http.wire=INFO,stdout
-log4j.logger.networkLogger=INFO,network
-
-log4j.additivity.networkLogger=false
-
-log4j.appender.stdout=org.apache.log4j.RollingFileAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-
-log4j.appender.network=org.apache.log4j.RollingFileAppender
-log4j.appender.network.File=logs/network.log
-log4j.appender.network.layout=org.apache.log4j.PatternLayout
-log4j.appender.network.layout.ConversionPattern=[%d|%t]%m%n%n
-log4j.appender.network.MaxFileSize=50MB
-log4j.appender.network.MaxBackupIndex=4
-
-log4j.logger.debugLogger=INFO,debug
-log4j.additivity.debugLogger=false
-log4j.appender.debug=org.apache.log4j.RollingFileAppender
-log4j.appender.debug.File=logs/debug.log
-log4j.appender.debug.layout=org.apache.log4j.PatternLayout
-log4j.appender.debug.layout.ConversionPattern=[%d|%t]%m%n%n
-log4j.appender.debug.MaxFileSize=50MB
-log4j.appender.debug.MaxBackupIndex=4
-
diff --git a/policy-management/src/main/server/config/logback.xml b/policy-management/src/main/server/config/logback.xml
index 6b01620..58092cc 100644
--- a/policy-management/src/main/server/config/logback.xml
+++ b/policy-management/src/main/server/config/logback.xml
@@ -18,194 +18,140 @@
   ============LICENSE_END=========================================================
   -->
 
-<configuration scan="true" scanPeriod="3 seconds" debug="true">
-  <!--<jmxConfigurator /> -->
-  <!-- directory path for all other type logs -->
-  <property name="logDir" value="logs" />
-  
-  <!-- directory path for debugging type logs -->
-  <property name="debugDir" value="debug-logs" />
-  
-  <!--  specify the component name 
-    <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
-  <property name="componentName" value="Policy"></property>
-  
-  <!--  log file names -->
-  <property name="errorLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-  <!-- modified time stamp format -->
-  <property name="defaultPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
-  <property name="defaultMetricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
-  <property name="defaultAuditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
-  <property name="defaultErrorPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" />
-  
-  <property name="defaultPatternOld" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}|%msg%n" />
-  
-   <property name="debugLoggerPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%X{ClassName}|%msg%n" />  
-<!--  <property name="debugLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> -->
- 
-  <property name="debugLoggerPatternOld" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
-  
-  <property name="logDirectory" value="${logDir}/${componentName}" />
-  <property name="debugLogDirectory" value="${logDir}/${componentName}" />
-  
-  
-  <!-- Example evaluator filter applied against console appender -->
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>${defaultPattern}</pattern>
-    </encoder>
-  </appender>
+<configuration scan="true" scanPeriod="30 seconds" debug="false">
 
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
+	<property name="logDir" value="logs" />
 
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-    
-    
+	<property name="errorLog" value="error" />
+	<property name="metricLog" value="metric" />
+	<property name="auditLog" value="audit" />
+	<property name="debugLog" value="debug" />
+	<property name="networkLog" value="network" />
 
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
-    these events as part of the application root log. -->
-    
-  <appender name="EELFAudit"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-         <pattern>${defaultAuditPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
+	<property name="metricPattern"
+		value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
+	<property name="auditPattern"
+		value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
+	<property name="errorPattern"
+		value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" />
 
-<appender name="EELFMetrics"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
-      <pattern>${defaultMetricPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics"/>
-  </appender>
-   
-  <appender name="EELFError"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${errorLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-     <level>ERROR</level>
-     </filter>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${defaultErrorPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFError"/>
-  </appender>
-  
-   <appender name="EELFDebug"
-    class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${debugLogDirectory}/${debugLogName}.log</file>
-    <rollingPolicy
-      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip
-      </fileNamePattern>
-      <minIndex>1</minIndex>
-      <maxIndex>9</maxIndex>
-    </rollingPolicy>
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-     <level>INFO</level>
-     </filter>
-    <triggeringPolicy
-      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      <maxFileSize>5MB</maxFileSize>
-    </triggeringPolicy>
-    <encoder>
-      <pattern>${debugLoggerPattern}</pattern>
-    </encoder>
-  </appender>
-  
-  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
-    <includeCallerData>true</includeCallerData>
-  </appender>
- 
-  
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
- 
-  <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-  </logger>
-  
-  <logger name="com.att.eelf.metrics" level="info" additivity="false">
-        <appender-ref ref="asyncEELFMetrics" />
-  </logger>
- 
-    <logger name="com.att.eelf.error" level="error" additivity="false">
-  <appender-ref ref="asyncEELFError" />
-  </logger>
-  
-   <logger name="com.att.eelf.debug" level="info" additivity="false">
-        <appender-ref ref="asyncEELFDebug" />
-  </logger>
-  
-  
-  
-  <root level="INFO">
-        <appender-ref ref="asyncEELFDebug" />
-        <appender-ref ref="asyncEELFError" />
-  </root>
+	<property name="debugPattern" value="[%date|%level|%logger{0}|%thread] %msg%n" />
+	<property name="networkPattern" value="[%d|%t]%m%n" />
+
+	<appender name="AuditOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${logDir}/${auditLog}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDir}/${auditLog}.%i.log.zip</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>5MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>${auditPattern}</pattern>
+		</encoder>
+	</appender>
+	
+	<appender name="AsyncAuditOut" class="ch.qos.logback.classic.AsyncAppender">
+		<appender-ref ref="AuditOut" />
+	</appender>
+
+	<appender name="MetricOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${logDir}/${metricLog}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDir}/${metricLog}.%i.log.zip</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>5MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>${metricPattern}</pattern>
+		</encoder>
+	</appender>
+	
+	<appender name="AsyncMetricOut" class="ch.qos.logback.classic.AsyncAppender">
+		<appender-ref ref="MetricOut" />
+	</appender>
+
+	<appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${logDir}/${errorLog}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDir}/${errorLog}.%i.log.zip</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>WARN</level>
+		</filter>
+		<triggeringPolicy
+			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>15MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>${errorPattern}</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">
+		<appender-ref ref="ErrorOut" />
+	</appender>
+	
+	<appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${logDir}/${debugLog}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>${logDir}/${debugLog}.%i.log.zip</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>20MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>${debugPattern}</pattern>
+		</encoder>
+	</appender>
+	
+	<appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">
+		<appender-ref ref="DebugOut" />
+	</appender>
+
+	<appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${logDir}/${networkLog}.log</file>
+		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+			<fileNamePattern>logs/network.log.%i.zip</fileNamePattern>
+			<minIndex>1</minIndex>
+			<maxIndex>9</maxIndex>
+		</rollingPolicy>
+		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+			<maxFileSize>15MB</maxFileSize>
+		</triggeringPolicy>
+		<encoder>
+			<pattern>${networkPattern}</pattern>
+		</encoder>		
+	</appender>
+	
+	<appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">
+		<appender-ref ref="NetworkOut" />
+	</appender>
+	
+ 	<logger name="com.att.eelf.audit" level="INFO">
+		<appender-ref ref="AsyncAuditOut" />
+	</logger>
+
+	<logger name="com.att.eelf.metrics" level="INFO">
+		<appender-ref ref="AsyncMetricOut" />
+	</logger>
+
+	<logger name="network" level="INFO" additivity="false">
+		<appender-ref ref="AsyncNetworkOut" />		
+	</logger>
+
+	<root level="INFO">
+		<appender-ref ref="AsyncDebugOut" />
+		<appender-ref ref="AsyncErrorOut" />
+	</root>
 
 </configuration>
diff --git a/policy-management/src/main/server/config/makefile b/policy-management/src/main/server/config/makefile
deleted file mode 100644
index 5a96c54..0000000
--- a/policy-management/src/main/server/config/makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-
-restart: stop start
-
-start:
-	bin/policy-management-controller start
-stop:
-	bin/policy-management-controller stop
-console:
-	bin/policy-management-controller console
diff --git a/policy-management/src/main/server/config/policyLogger.properties b/policy-management/src/main/server/config/policyLogger.properties
deleted file mode 100644
index 4a97799..0000000
--- a/policy-management/src/main/server/config/policyLogger.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-###
-# ============LICENSE_START=======================================================
-# policy-management
-# ================================================================================
-# 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=========================================================
-###
-
-################################### Set concurrentHashMap and timer info  #######################
-#Timer initial delay and the delay between in milliseconds before task is to be execute.
-timer.delay.time=1000
-#Timer scheduleAtFixedRate period - time in milliseconds between successive task executions.
-check.interval= 30000
-#Longest time an event info can be stored in the concurrentHashMap for logging - in seconds. 
-event.expired.time=86400
-#Size of the concurrentHashMap which stores the event starting time, etc - when its size reaches this limit, the Timer gets executed 
-#to remove all expired records from this concurrentHashMap.
-concurrentHashMap.limit=5000
-#Size of the concurrentHashMap - when its size drops to this point, stop the Timer
-stop.check.point=2500
-################################### Set logging format #############################################
-# set EELF for EELF logging format, set LOG4J for using log4j, set SYSTEMOUT for using system.out.println
-logger.type=EELF
-#################################### Set level for EELF or SYSTEMOUT logging ##################################
-# Set level for debug file. Set DEBUG to enable .info, .warn and .debug; set INFO for enable .info and .warn; set OFF to disable all 
-# Set override flag. Set TRUE for override the level setups in logback.xml. Set FALSE for using the level setups of logback.xml
-override.logback.level.setup=FALSE
-debugLogger.level=INFO
-# Set level for metrics file. Set OFF to disable; set ON to enable
-metricsLogger.level=ON
-# Set level for error file. Set OFF to disable; set ON to enable
-error.level=ON
-# Set level for audit file. Set OFF to disable; set ON to enable
-audit.level=ON
-#################################### Set Policy Component ##################################
-# Set DROOLS for drools PDP. Set XACML to xacml PDP
-policy.component=DROOLS
diff --git a/policy-management/src/main/server/config/system.properties b/policy-management/src/main/server/config/system.properties
index feffbd0..67294c8 100644
--- a/policy-management/src/main/server/config/system.properties
+++ b/policy-management/src/main/server/config/system.properties
@@ -20,12 +20,24 @@
 
 # system properties passed to controller
 
-# start JMX server port
+# jmx
+
 com.sun.management.jmxremote.port = 9991
 com.sun.management.jmxremote.authenticate = false
 com.sun.management.jmxremote.ssl = false
 
+# certs
+
 javax.net.ssl.keyStore=/opt/app/policy/etc/ssl/policy-keystore
 javax.net.ssl.keyStorePassword = ${{KEYSTORE_PASSWD}}
 javax.net.ssl.trustStore=/opt/app/policy/etc/ssl/policy-keystore
 javax.net.ssl.trustStorePassword = ${{KEYSTORE_PASSWD}}
+
+# standard logging
+
+logback.configurationFile=config/logback.xml
+
+# eelf logging
+
+com.att.eelf.logging.path=config
+com.att.eelf.logging.file=logback.xml
\ No newline at end of file