[AAI] Json-formatted log output 80/141280/2
authoraditi.shukla@t-systems.com <aditi.shukla@t-systems.com>
Tue, 17 Jun 2025 09:31:15 +0000 (11:31 +0200)
committerFiete Ostkamp <fiete.ostkamp@telekom.de>
Wed, 18 Jun 2025 08:53:37 +0000 (08:53 +0000)
Issue-ID: OOM-3345
Change-Id: Ib595575e1f47446e80b055d2898794fdfe6cab33
Signed-off-by: aditi.shukla@t-systems.com <aditi.shukla@t-systems.com>
kubernetes/aai/components/aai-babel/resources/config/logback.xml
kubernetes/aai/components/aai-babel/values.yaml
kubernetes/aai/components/aai-graphadmin/resources/config/localhost-access-logback.xml
kubernetes/aai/components/aai-graphadmin/resources/config/logback.xml
kubernetes/aai/components/aai-modelloader/Chart.yaml
kubernetes/aai/components/aai-modelloader/resources/config/log/logback.xml
kubernetes/aai/components/aai-modelloader/templates/deployment.yaml
kubernetes/aai/components/aai-resources/resources/config/logback.xml
kubernetes/aai/components/aai-schema-service/config/logback.xml
kubernetes/aai/components/aai-schema-service/values.yaml
kubernetes/aai/components/aai-traversal/resources/config/logback.xml

index 686423b..51ebf9d 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0"?>
 <!--
 # Copyright © 2018 Amdocs, Bell Canada, AT&T
 # Modifications Copyright © 2021 Orange
 # See the License for the specific language governing permissions and
 # limitations under the License.
 -->
-<!DOCTYPE xml>
 <configuration scan="true" scanPeriod="30 seconds" debug="true">
-  <include resource="org/springframework/boot/logging/logback/base.xml" />
 
-  <property name="componentName" value="AAI-BAS" />
-  <property name="logDirectory" value="/var/log/onap/${componentName}" />
-
-  <!-- default EELF log file names -->
-  <property name="generalLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%.-5level|%logger|%mdc{ClassName}|%msg%n" />
-
-  <property name="auditLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
-
-  <property name="metricsLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
+  <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+      <providers>
+        <timestamp>
+          <fieldName>timestamp</fieldName>
+        </timestamp>
+        <message />
+        <mdc>
+          <fieldName>context</fieldName>
+          <excludeMdcKeyName>ServerIPAddress</excludeMdcKeyName>
+          <excludeMdcKeyName>EntryTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>InvokeTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorCode</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorDesc</excludeMdcKeyName>
+        </mdc>
+        <stackTrace>
+          <fieldName>exception</fieldName>
+          <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
+            <exclude>^sun\.reflect\..*\.invoke</exclude>
+            <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
+            <rootCauseFirst>true</rootCauseFirst>
+          </throwableConverter>
+        </stackTrace>
+        <threadName>
+          <fieldName>thread</fieldName>
+        </threadName>
+        <loggerName>
+          <fieldName>logger</fieldName>
+          <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
+        </loggerName>
+        <logLevel />
+      </providers>
+    </encoder>
+  </appender>
 
   <!-- ============================================================================ -->
   <!-- EELF Appenders -->
   <!-- ============================================================================ -->
 
-  <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${generalLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
     <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
       <level>INFO</level>
     </filter>
     <queueSize>256</queueSize>
-    <appender-ref ref="EELF" />
+    <appender-ref ref="STDOUT" />
   </appender>
 
-  <!-- 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.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditLogPattern}</pattern>
-    </encoder>
-  </appender>
+  <!-- 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="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
     <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-  <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${metricsLogPattern}</pattern>
-    </encoder>
+    <appender-ref ref="STDOUT" />
   </appender>
 
   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
     <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics" />
-  </appender>
-
-  <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${debugLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
+    <appender-ref ref="STDOUT" />
   </appender>
 
   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
     <!-- allow only events with a level below INFO, that is TRACE and DEBUG -->
     <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
       <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
-        <expression>e.level.toInt() &lt; INFO.toInt()</expression>
+        <expression><![CDATA[e.level.toInt() < INFO.toInt()]]></expression>
       </evaluator>
       <OnMismatch>DENY</OnMismatch>
       <OnMatch>NEUTRAL</OnMatch>
     </filter>
     <queueSize>256</queueSize>
-    <appender-ref ref="EELFDebug" />
+    <appender-ref ref="STDOUT" />
     <includeCallerData>false</includeCallerData>
   </appender>
 
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
+
   <appender name="AsyncSysOut" class="ch.qos.logback.classic.AsyncAppender">
     <appender-ref ref="STDOUT" />
   </appender>
 
-  <!-- ============================================================================ -->
-  <!-- Default / root appenders -->
-  <!-- This determines the logging level for 3rd party code -->
-  <!-- ============================================================================ -->
-
-  <root level={{ .Values.log.level.root | upper | quote }}>
-    <appender-ref ref="asyncEELF" />
-    <appender-ref ref="asyncEELFDebug" />
-    <appender-ref ref="AsyncSysOut" />
-  </root>
-
-  <!-- ============================================================================ -->
-  <!--  EELF loggers -->
-  <!-- ============================================================================ -->
-
   <logger name="com.att.eelf" level="INFO" additivity="false">
     <appender-ref ref="asyncEELF" />
     <appender-ref ref="AsyncSysOut" />
   </logger>
 
-  <!-- The level of this logger determines the contents of the debug log -->
+          <!-- The level of this logger determines the contents of the debug log -->
   <logger name="com.att.eelf.debug" level="INFO" additivity="false">
     <appender-ref ref="asyncEELFDebug" />
     <appender-ref ref="AsyncSysOut" />
     <appender-ref ref="AsyncSysOut" />
   </logger>
 
-  <!-- ============================================================================ -->
-  <!-- Non-EELF loggers -->
-  <!-- ============================================================================ -->
+        <!-- ============================================================================ -->
+        <!-- Non-EELF loggers -->
+        <!-- ============================================================================ -->
 
-  <!-- ATT packages including DMAAP message routing -->
+        <!-- ATT packages including DMAAP message routing -->
   <logger name="com.att" level="INFO" />
 
-  <!-- Spring related loggers -->
+          <!-- Spring related loggers -->
   <logger name="org.springframework" level="WARN" />
   <logger name="org.springframework.beans" level="WARN" />
   <logger name="org.springframework.web" level="WARN" />
 
-  <!-- Other Loggers that may help troubleshoot -->
+          <!-- Other Loggers that may help troubleshoot -->
   <logger name="org.apache" level="WARN" />
   <logger name="org.apache.commons" level="WARN" />
 
-  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
+          <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in
+          troubleshooting) -->
   <logger name="org.apache.camel" level="WARN" />
   <logger name="org.apache.cxf" level="WARN" />
   <logger name="org.apache.camel.processor.interceptor" level="WARN" />
   <logger name="org.restlet" level="WARN" />
   <logger name="org.apache.camel.component.restlet" level="WARN" />
 
-  <!-- logback internals logging -->
+          <!-- logback internals logging -->
   <logger name="ch.qos.logback.classic" level="WARN" />
   <logger name="ch.qos.logback.core" level="WARN" />
 
+  <root level={{ .Values.log.level.root | upper | quote }}>
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFDebug" />
+    <appender-ref ref="AsyncSysOut" />
+  </root>
 </configuration>
index 7bd28b0..1af40c9 100644 (file)
@@ -31,7 +31,7 @@ global:
 #################################################################
 
 # application image
-image: onap/babel:1.13.4
+image: onap/babel:1.13.5
 
 flavor: small
 
@@ -152,7 +152,7 @@ volumes:
 
 securityContext:
   user_id: 1000
-  group_id: 101
+  group_id: 1000
 
 podAnnotations:
   checksum/config: '{{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}'
index 8e1bf21..257cda6 100644 (file)
 */}}
 -->
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
     <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
     <property name="maxHistory" value='{{.Values.accessLogback.maxHistory}}' />
     <property name="totalSizeCap" value='{{.Values.accessLogback.totalSizeCap}}' />
     <property name="logToFileEnabled" value='{{.Values.accessLogback.logToFileEnabled}}'/>
-    <if condition='property("logToFileEnabled").contains("true")'>
-        <then>
-            <appender name="ACCESS"
-                class="ch.qos.logback.core.rolling.RollingFileAppender">
-                <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
-                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                    <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
-                    </fileNamePattern>
-                    <maxHistory>${maxHistory}</maxHistory>
-                    <totalSizeCap>${totalSizeCap}</totalSizeCap>
-                </rollingPolicy>
-                <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
-                    <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
-                </encoder>
-            </appender>
-            <appender-ref ref="ACCESS" />
-        </then>
-    </if>
+
 
     <appender name="STDOUTACCESS" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
-            <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D - "logType": "access"</Pattern>
+        <encoder class="net.logstash.logback.encoder.AccessEventCompositeJsonEncoder">
+            <providers>
+                <pattern>
+                    <pattern>
+                        {
+                            "remoteIp": "%a",
+                            "remoteUser": "%u",
+                            "timestamp": "%t",
+                            "requestMethod": "%m",
+                            "requestUrl": "%U",
+                            "queryString": "%q",
+                            "httpStatusCode": "%s",
+                            "bytesSent": "%b",
+                            "transactionId": "%i{X-TransactionId}",
+                            "fromAppId": "%i{X-FromAppId}",
+                            "forwardedFor": "%i{X-Forwarded-For}",
+                            "aaiSslClientCn": "%i{X-AAI-SSL-Client-CN}",
+                            "aaiSslClientOu": "%i{X-AAI-SSL-Client-OU}",
+                            "aaiSslClientO": "%i{X-AAI-SSL-Client-O}",
+                            "aaiSslClientL": "%i{X-AAI-SSL-Client-L}",
+                            "aaiSslClientSt": "%i{X-AAI-SSL-Client-ST}",
+                            "aaiSslClientC": "%i{X-AAI-SSL-Client-C}",
+                            "aaiSslClientNotBefore": "%i{X-AAI-SSL-Client-NotBefore}",
+                            "aaiSslClientNotAfter": "%i{X-AAI-SSL-Client-NotAfter}",
+                            "aaiSslClientDn": "%i{X-AAI-SSL-Client-DN}",
+                            "durationMs": "%D",
+                            "logType": "access"
+                        }
+                    </pattern>
+                </pattern>
+            </providers>
         </encoder>
     </appender>
-    <appender-ref ref="STDOUTACCESS" />
+
+<!--    <appender-ref ref="STDOUTACCESS" />-->
 </configuration>
 
 <!--
@@ -73,4 +87,4 @@
 
 %z - Custom pattern that parses the cert for the subject
 %y - Custom pattern determines rest or dme2
- -->
\ No newline at end of file
+ -->
index 55ed90d..f72b266 100644 (file)
     ============LICENSE_END=========================================================
 */}}
 -->
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
+<configuration scan="true" scanPeriod="60 seconds" debug="true">
   <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
   <property resource="application.properties"/>
-  <property name="namespace" value="graph-admin"/>
-  <property name="AJSC_HOME" value="${AJSC_HOME:-.}"/>
-  <property name="logDirectory" value="${AJSC_HOME}/logs"/>
-  <property name="maxHistory" value='{{.Values.logback.maxHistory}}' />
-  <property name="totalSizeCap" value='{{.Values.logback.totalSizeCap}}' />
-  <property name="queueSize" value='{{.Values.logback.queueSize}}'/>
-  <property name="logToFileEnabled" value='{{.Values.logback.logToFileEnabled}}'/>
-  <!-- Old patterns
-    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
-    -->
-  <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
-  <property name="p_lvl" value="%level"/>
-  <property name="p_log" value="%logger"/>
-  <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
-  <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_thr" value="%thread"/>
-  <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
-  <!-- Patterns from onap demo -->
-  <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n"/>
-  <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n"/>
-  <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||${p_mak}|${p_mdc}|||%msg%n"/>
-  <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|${p_mak}|${p_mdc}|||%msg%n"/>
-  <property name="transLogPattern" value="%X{LogTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{RequestID}|%X{ServiceInstanceID}|%-10t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%replace(%replace(%X{ResponseDesc}){'\\|', '!'}){'\r|\n', '^'}|%X{InstanceUUID}|%level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{clientIpAddress}||%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{PartnerName}:%m%n"/>
-  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
-  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
-  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
 
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
     <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
           <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
         </loggerName>
         <logLevel/>
-        <pattern>
-          <pattern>{"logType":"app"}</pattern>
-        </pattern>
       </providers>
     </encoder>
   </appender>
 
-  <if condition='property("logToFileEnabled").contains("true")'>
-    <then>
-        <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <file>${logDirectory}/rest/sane.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
-          </encoder>
-        </appender>
-        <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <includeCallerData>true</includeCallerData>
-          <appender-ref ref="SANE"/>
-        </appender>
-        <appender name="METRIC" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <file>${logDirectory}/rest/metrics.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${metricPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <includeCallerData>true</includeCallerData>
-          <appender-ref ref="METRIC"/>
-        </appender>
-        <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <file>${logDirectory}/rest/debug.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <appender-ref ref="DEBUG"/>
-          <includeCallerData>true</includeCallerData>
-        </appender>
-        <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <file>${logDirectory}/rest/error.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <appender-ref ref="ERROR"/>
-        </appender>
-        <appender name="AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <file>${logDirectory}/rest/audit.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <includeCallerData>true</includeCallerData>
-          <appender-ref ref="AUDIT"/>
-        </appender>
-        <appender name="translog" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <file>${logDirectory}/rest/translog.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${transLogPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
-          <queueSize>${queueSize}</queueSize>
-          <includeCallerData>true</includeCallerData>
-          <appender-ref ref="translog"/>
-        </appender>
-        <appender name="kafkaAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/kafkaAAIEventConsumer/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${"errorPattern"}</pattern>
-          </encoder>
-        </appender>
-        <appender name="kafkaAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="kafkaAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/kafkaAAIEventConsumer/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="kafkaAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/kafkaAAIEventConsumer/metrics.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${metricPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <file>${logDirectory}/external/external.log</file>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- DataGrooming logs started -->
-        <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/dataGrooming/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataGrooming/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataGroomingaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataGrooming/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataGrooming/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- DataGrooming logs ended -->
-        <!-- DataSnapshot logs started -->
-        <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/dataSnapshot/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataSnapshot/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataSnapshotaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataSnapshot/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataSnapshot/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- DataSnapshot logs ended -->
-        <!-- HistoryTruncate logs started -->
-        <appender name="historyTruncate" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/historyTruncate/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/historyTruncate/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="historyTruncatedebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/historyTruncate/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/historyTruncate/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="historyTruncateaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/historyTruncate/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/historyTruncate/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- historyTruncate logs ended -->
-        <!-- CreateDBSchema logs started  -->
-        <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/createDBSchema/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${"errorPattern"}</pattern>
-          </encoder>
-        </appender>
-        <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/createDBSchema/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/createDBSchema/metrics.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${metricPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- CreateDBSchema logs ended  -->
-        <!-- DataCleanupTasks logs started  -->
-        <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/misc/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${"errorPattern"}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/misc/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataCleanupaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/misc/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/misc/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- DataCleanupTasks logs ended  -->
-        <!-- dupeTool logs started -->
-        <appender name="dupeTooldebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dupetool/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dupetool/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dupeToolerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>WARN</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dupeTool/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dupeTool/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- dupeTool logs ended -->
-        <!-- dynamicPayloadGenerator log starts here -->
-        <appender name="dynamicPayloadGeneratorError" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/dynamicPayloadGenerator/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dynamicPayloadGeneratorDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dynamicPayloadGenerator/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dynamicPayloadGeneratorAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataExport/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- dynamicPayloadGenerator log ends here -->
-        <!-- forceDelete logs started -->
-        <appender name="forceDeletedebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/forceDelete/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/forceDelete/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="forceDeleteerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>WARN</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/forceDelete/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/forceDelete/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- forceDelete logs ended -->
-        <!-- migration logs started -->
-        <appender name="migrationdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/migration/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/migration/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="migrationerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>WARN</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/migration/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/migration/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- migration logs ended -->
-        <!-- DataGrooming logs started -->
-        <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/dataExport/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataExport/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dataExportAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataExport/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dataExport/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- schemaMod log starts -->
-        <appender name="schemaModdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/schemaMod/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/schemaMod/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="schemaModerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>WARN</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/schemaMod/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/schemaMod/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- schemaMod log ends -->
-        <!-- uniquePropertyCheck log starts here -->
-        <appender name="uniquePropertyCheckdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/uniquePropertyCheck/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/uniquePropertyCheck/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="uniquePropertyCheckmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/uniquePropertyCheck/metrics.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/uniquePropertyCheck/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${metricPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="uniquePropertyCheckerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>WARN</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/uniquePropertyCheck/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/uniquePropertyCheck/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- uniquePropertyCheck log ends here -->
-        <!-- dynamicPayloadGenerator log starts here -->
-        <appender name="dynamicPayloadGeneratorError" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-          </filter>
-          <File>${logDirectory}/dynamicPayloadGenerator/error.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${errorPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dynamicPayloadGeneratorDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dynamicPayloadGenerator/debug.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${debugPattern}</pattern>
-          </encoder>
-        </appender>
-        <appender name="dynamicPayloadGeneratorAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-          <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-          </filter>
-          <File>${logDirectory}/dataExport/audit.log</File>
-          <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-          </rollingPolicy>
-          <encoder>
-            <pattern>${auditPattern}</pattern>
-          </encoder>
-        </appender>
-        <!-- dynamicPayloadGenerator log ends here -->
-    </then>
-  </if>
-
   <logger name="org.onap.aai" level={{ .Values.log.level.base | upper | quote }} additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="asyncDEBUG"/>
-        <appender-ref ref="asyncSANE"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
-  <!-- Spring related loggers -->
-  <logger name="org.springframework" level="WARN"/>
-  <logger name="org.springframework.beans" level="WARN"/>
-  <logger name="org.springframework.web" level="WARN"/>
-  <logger name="com.blog.spring.jms" level="WARN"/>
-  <logger name="com.jayway.jsonpath" level="WARN"/>
-  <!-- AJSC Services (bootstrap services) -->
-  <logger name="ajsc" level="WARN"/>
-  <logger name="ajsc.RouteMgmtService" level="WARN"/>
-  <logger name="ajsc.ComputeService" level="WARN"/>
-  <logger name="ajsc.VandelayService" level="WARN"/>
-  <logger name="ajsc.FilePersistenceService" level="WARN"/>
-  <logger name="ajsc.UserDefinedJarService" level="WARN"/>
-  <logger name="ajsc.UserDefinedBeansDefService" level="WARN"/>
-  <logger name="ajsc.LoggingConfigurationService" level="WARN"/>
-  <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet logging) -->
-  <logger name="org.codehaus.groovy" level="WARN"/>
-  <logger name="com.att.scamper" level="WARN"/>
-  <logger name="ajsc.utils" level="WARN"/>
-  <logger name="ajsc.utils.DME2Helper" level="WARN"/>
-  <logger name="ajsc.filters" level="WARN"/>
-  <logger name="ajsc.beans.interceptors" level="WARN"/>
-  <logger name="ajsc.restlet" level="WARN"/>
-  <logger name="ajsc.servlet" level="WARN"/>
-  <logger name="com.att.ajsc" level="WARN"/>
-  <logger name="com.att.ajsc.csi.logging" level="WARN"/>
-  <logger name="com.att.ajsc.filemonitor" level="WARN"/>
-  <logger name="com.netflix.loadbalancer" level="WARN"/>
-  <logger name="org.apache.zookeeper" level="WARN"/>
-  <!-- Other Loggers that may help troubleshoot -->
-  <logger name="net.sf" level="WARN"/>
-  <logger name="org.apache.commons.httpclient" level="WARN"/>
-  <logger name="org.apache.commons" level="WARN"/>
-  <logger name="org.apache.coyote" level="WARN"/>
-  <logger name="org.apache.jasper" level="WARN"/>
-  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
-  <logger name="org.apache.camel" level="WARN"/>
-  <logger name="org.apache.cxf" level="WARN"/>
-  <logger name="org.apache.camel.processor.interceptor" level="WARN"/>
-  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN"/>
-  <logger name="org.apache.cxf.service" level="WARN"/>
-  <logger name="org.restlet" level="WARN"/>
-  <logger name="org.apache.camel.component.restlet" level="WARN"/>
-  <logger name="org.hibernate.validator" level="WARN"/>
-  <logger name="org.hibernate" level="WARN"/>
-  <logger name="org.hibernate.ejb" level="OFF"/>
-  <!-- logback internals logging -->
-  <logger name="ch.qos.logback.classic" level="WARN"/>
-  <logger name="ch.qos.logback.core" level="WARN"/>
-  <logger name="org.eclipse.jetty" level="WARN"/>
-  <!-- logback jms appenders & loggers definition starts here -->
-  <if condition='property("logToFileEnabled").contains("true")'>
-    <then>
-      <appender name="auditLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter"/>
-        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-          <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%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="perfLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter"/>
-        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-          <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%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 [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-        </encoder>
-      </appender>
-      <appender name="auth" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-          <level>DEBUG</level>
-        </filter>
-        <file>${logDirectory}/auth/auth.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/auth/auth.log.%d{yyyy-MM-dd}</fileNamePattern>
-          <maxHistory>${maxHistory}</maxHistory>
-          <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-          <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}[%thread] %-5level %logger{1024} - %msg%n</pattern>
-        </encoder>
-      </appender>
-      <appender name="asyncAUTH" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>${queueSize}</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="auth"/>
-      </appender>
-    </then>
-  </if>
-
   <logger name="AuditRecord" level="INFO" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="auditLogs"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="auditLogs"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="PerfTrackerRecord" level="INFO" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="perfLogs"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <!-- logback jms appenders & loggers definition ends here -->
   <logger name="org.onap.aai.aaf" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="asyncAUTH"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
 
-  <if condition='property("logToFileEnabled").contains("true")'>
-    <then>
-      <logger name="org.onap.aai.aailog.filter.RestClientLoggingInterceptor" level="INFO">
-        <appender-ref ref="asyncMETRIC"/>
-      </logger>
-      <logger name="org.onap.logging.filter.base.AbstractMetricLogFilter" level="INFO">
-        <appender-ref ref="asyncMETRIC"/>
-      </logger>
-      <logger name="org.onap.aai.aailog.logs.AaiScheduledTaskAuditLog" level="INFO">
-        <appender-ref ref="asyncAUDIT"/>
-      </logger>
-      <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level="INFO">
-        <appender-ref ref="asyncMETRIC"/>
-      </logger>
-      <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
-        <appender-ref ref="asyncERROR"/>
-      </logger>
-    </then>
-  </if>
-
+  <logger name="org.onap.aai.aailog.filter.RestClientLoggingInterceptor" level="INFO">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.onap.logging.filter.base.AbstractMetricLogFilter" level="INFO">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.onap.aai.aailog.logs.AaiScheduledTaskAuditLog" level="INFO">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level="INFO">
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
+    <appender-ref ref="STDOUT"/>
+  </logger>
   <logger name="org.onap.logging.filter.base.AbstractAuditLogFilter" level="INFO">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="asyncAUDIT"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.interceptors.post" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="asynctranslog"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.kafka" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="kafkaAAIEventConsumer"/>
-        <appender-ref ref="kafkaAAIEventConsumerDebug"/>
-        <appender-ref ref="kafkaAAIEventConsumerMetric"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dataSnapshot"/>
-        <appender-ref ref="dataSnapshotdebug"/>
-        <appender-ref ref="dataSnapshotaudit"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.historytruncate" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="historyTruncate"/>
-        <appender-ref ref="historyTruncatedebug"/>
-        <appender-ref ref="historyTruncateaudit"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dataGrooming"/>
-        <appender-ref ref="dataGroomingdebug"/>
-        <appender-ref ref="dataGroomingaudit"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.schema" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="createDBSchema"/>
-        <appender-ref ref="createDBSchemadebug"/>
-        <appender-ref ref="createDBSchemametric"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.dbgen.DupeTool" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dupeTooldebug"/>
-        <appender-ref ref="dupeToolerror"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.dbgen.DynamicPayloadGenerator" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dynamicPayloadGeneratorAudit"/>
-        <appender-ref ref="dynamicPayloadGeneratorError"/>
-        <appender-ref ref="dynamicPayloadGeneratorDebug"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="createDBSchema"/>
-        <appender-ref ref="createDBSchemadebug"/>
-        <appender-ref ref="createDBSchemametric"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.datacleanup" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dataCleanuperror"/>
-        <appender-ref ref="dataCleanupdebug"/>
-        <appender-ref ref="dataCleanupaudit"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.migration" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="migrationdebug"/>
-        <appender-ref ref="migrationerror"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.util.SendMigrationNotifications" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="migrationdebug"/>
-        <appender-ref ref="migrationerror"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.util.SendDeleteMigrationNotifications" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="migrationdebug"/>
-        <appender-ref ref="migrationerror"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="dataExportError"/>
-        <appender-ref ref="dataExportDebug"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
-  <if condition='property("logToFileEnabled").contains("true")'>
-    <then>
-      <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
-        <appender-ref ref="dataExportAudit"/>
-      </logger>
-    </then>
-  </if>
+
   <logger name="org.apache" level="WARN"/>
   <logger name="org.zookeeper" level="WARN"/>
   <logger name="com.netflix" level="WARN"/>
   <!-- General EELF logger -->
   <!-- ============================================================================ -->
   <logger name="com.att.eelf" level="WARN" additivity="false">
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="asyncDEBUG"/>
-        <appender-ref ref="asyncERROR"/>
-        <appender-ref ref="asyncMETRIC"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </logger>
   <root level={{ .Values.log.level.root | upper | quote }}>
-    <if condition='property("logToFileEnabled").contains("true")'>
-      <then>
-        <appender-ref ref="external"/>
-      </then>
-    </if>
     <appender-ref ref="STDOUT"/>
   </root>
 </configuration>
index 0709eef..dee4138 100644 (file)
@@ -17,7 +17,7 @@
 apiVersion: v2
 description: ONAP AAI modelloader
 name: aai-modelloader
-version: 15.0.2
+version: 15.0.5
 
 dependencies:
   - name: common
index 90579b0..944078d 100644 (file)
 -->
 */}}
 <configuration scan="true" scanPeriod="3 seconds" debug="false">
-  <include resource="org/springframework/boot/logging/logback/base.xml" />
-  <property name="logDir" value="/var/log/onap" />
-  <property name="componentName" value="AAI-ML"></property>
 
-  <!-- default eelf log file names -->
-  <property name="generalLogName" value="error" />
-  <property name="metricsLogName" value="metrics" />
-  <property name="auditLogName" value="audit" />
-  <property name="debugLogName" value="debug" />
-
-  <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|ModelLoader|%mdc{PartnerName}|%logger||%.-5level|%msg%n" />
-  <property name="auditMetricPattern" value="%m%n" />
-
-  <property name="logDirectory" value="${logDir}/${componentName}" />
-
-  <!-- Example evaluator filter applied against console appender -->
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
+    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+      <providers>
+        <timestamp><fieldName>timestamp</fieldName></timestamp>
+        <message/>
+        <mdc>
+          <fieldName>context</fieldName>
+          <excludeMdcKeyName>ServerIPAddress</excludeMdcKeyName>
+          <excludeMdcKeyName>EntryTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>InvokeTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorCode</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorDesc</excludeMdcKeyName>
+        </mdc>
+        <stackTrace>
+          <fieldName>exception</fieldName>
+          <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
+            <exclude>^sun\.reflect\..*\.invoke</exclude>
+            <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
+            <rootCauseFirst>true</rootCauseFirst>
+          </throwableConverter>
+        </stackTrace>
+        <threadName><fieldName>thread</fieldName></threadName>
+        <loggerName>
+          <fieldName>logger</fieldName>
+          <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
+        </loggerName>
+        <logLevel/>
+      </providers>
     </encoder>
   </appender>
+
   <appender name="AsyncSysOut" class="ch.qos.logback.classic.AsyncAppender">
     <appender-ref ref="STDOUT" />
   </appender>
 
-  <!-- ============================================================================ -->
-  <!-- EELF Appenders -->
-  <!-- ============================================================================ -->
-
-  <!-- The EELFAppender is used to record events to the general application
-       log -->
-
-  <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${generalLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
-    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <level>INFO</level>
-    </filter>
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELF" />
-  </appender>
-
-  <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${auditLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditMetricPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFAudit" />
-  </appender>
-
-  <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${metricsLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${auditMetricPattern}</pattern>
-    </encoder>
-  </appender>
-  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-    <queueSize>256</queueSize>
-    <appender-ref ref="EELFMetrics" />
-  </appender>
-
-  <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <file>${logDirectory}/${debugLogName}.log</file>
-    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-      <maxHistory>60</maxHistory>
-    </rollingPolicy>
-    <encoder>
-      <pattern>${errorLogPattern}</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" level="info" additivity="false">
-    <appender-ref ref="asyncEELF" />
-    <appender-ref ref="asyncEELFDebug" />
-    <appender-ref ref="AsyncSysOut" />
+    <appender-ref ref="STDOUT" />
   </logger>
   <logger name="com.att.eelf.audit" level="info" additivity="false">
-    <appender-ref ref="asyncEELFAudit" />
-    <appender-ref ref="AsyncSysOut" />
+    <appender-ref ref="STDOUT" />
   </logger>
   <logger name="com.att.eelf.metrics" level="info" additivity="false">
-    <appender-ref ref="asyncEELFMetrics" />
-    <appender-ref ref="AsyncSysOut" />
+    <appender-ref ref="STDOUT" />
   </logger>
 
   <!-- Spring related loggers -->
   <logger name="ch.qos.logback.core" level="WARN" />
 
   <root level={{ .Values.log.level.root | upper | quote }}>
-    <appender-ref ref="asyncEELF" />
-    <appender-ref ref="AsyncSysOut" />
+    <appender-ref ref="STDOUT" />
   </root>
 
 </configuration>
index f3753d0..50c75ef 100644 (file)
@@ -19,7 +19,7 @@
 
 apiVersion: apps/v1
 kind: Deployment
-metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+metadata: {{- include "common.resourceMetadata" (dict "annotations" .Values.annotations "dot" .) | nindent 2 }}
 spec:
   {{- if .Values.debug.enabled }}
   replicas: 1
index 32334d0..c4c2a3a 100644 (file)
 
   <property resource="application.properties" />
 
-  <property name="namespace" value="aai-resources"/>
-
-  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-  <jmxConfigurator />
-  <property name="logDirectory" value="${AJSC_HOME}/logs" />
-
-  <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
-  <property name="p_lvl" value="%level"/>
-  <property name="p_log" value="%logger"/>
-  <property name="p_mdc" value="%replace(%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}){'\\|', '!'}"/>
-  <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_thr" value="%thread"/>
-  <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
-  <!-- Patterns from onap demo -->
-  <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n" />
-  <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="transLogPattern" value="%X{LogTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{RequestID}|%X{ServiceInstanceID}|%-10t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%replace(%replace(%X{ResponseDesc}){'\\|', '!'}){'\r|\n', '^'}|%X{InstanceUUID}|%level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{clientIpAddress}||%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{PartnerName}:%m%n"/>
-  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-
-  <property name="CONSOLE_LOG_PATTERN"
-  value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} [%X{traceId},%X{spanId}] [%thread] %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" />
-
-  <!-- Appender to log to console -->
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-      <!-- Minimum logging level to be presented in the console logs-->
-      <level>DEBUG</level>
-    </filter>
-    <encoder>
-      <pattern>${CONSOLE_LOG_PATTERN}</pattern>
-      <charset>utf8</charset>
+    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+      <providers>
+        <timestamp><fieldName>timestamp</fieldName></timestamp>
+        <message/>
+        <mdc>
+          <fieldName>context</fieldName>
+          <excludeMdcKeyName>ServerIPAddress</excludeMdcKeyName>
+          <excludeMdcKeyName>EntryTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>InvokeTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorCode</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorDesc</excludeMdcKeyName>
+        </mdc>
+        <stackTrace>
+          <fieldName>exception</fieldName>
+          <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
+            <exclude>^sun\.reflect\..*\.invoke</exclude>
+            <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
+            <rootCauseFirst>true</rootCauseFirst>
+          </throwableConverter>
+        </stackTrace>
+        <threadName><fieldName>thread</fieldName></threadName>
+        <loggerName>
+          <fieldName>logger</fieldName>
+          <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
+        </loggerName>
+        <logLevel/>
+      </providers>
     </encoder>
   </appender>
 
+
+
   <!-- logback internals logging -->
   <logger name="ch.qos.logback.classic" level="WARN" />
   <logger name="ch.qos.logback.core" level="WARN" />
index af39c27..a30ffdf 100644 (file)
 
   <property resource="application.properties"/>
 
-  <property name="namespace" value="aai-schema-service"/>
-
-  <property name="AJSC_HOME" value="${AJSC_HOME:-.}"/>
-  <property name="logDirectory" value="${AJSC_HOME}/logs"/>
-
-  <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
-  <property name="p_lvl" value="%level"/>
-  <property name="p_log" value="%logger"/>
-  <property name="p_mdc" value="%replace(%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}){'\\|', '!'}"/>
-  <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
-  <property name="p_thr" value="%thread"/>
-  <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
-  <!-- Patterns from onap demo -->
-  <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n" />
-
-  <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="transLogPattern" value="%X{LogTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{RequestID}|%X{ServiceInstanceID}|%-10t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%replace(%replace(%X{ResponseDesc}){'\\|', '!'}){'\r|\n', '^'}|%X{InstanceUUID}|%level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{clientIpAddress}||%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{PartnerName}:%m%n"/>
-
-  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
-  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
-  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
-
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>
-        %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
-      </pattern>
+    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
+      <providers>
+        <timestamp><fieldName>timestamp</fieldName></timestamp>
+        <message/>
+        <mdc>
+          <fieldName>context</fieldName>
+          <excludeMdcKeyName>ServerIPAddress</excludeMdcKeyName>
+          <excludeMdcKeyName>EntryTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>InvokeTimestamp</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorCode</excludeMdcKeyName>
+          <excludeMdcKeyName>ErrorDesc</excludeMdcKeyName>
+        </mdc>
+        <stackTrace>
+          <fieldName>exception</fieldName>
+          <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
+            <exclude>^sun\.reflect\..*\.invoke</exclude>
+            <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
+            <rootCauseFirst>true</rootCauseFirst>
+          </throwableConverter>
+        </stackTrace>
+        <threadName><fieldName>thread</fieldName></threadName>
+        <loggerName>
+          <fieldName>logger</fieldName>
+          <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
+        </loggerName>
+        <logLevel/>
+      </providers>
     </encoder>
   </appender>
 
index 27d4b42..4333129 100644 (file)
@@ -65,7 +65,7 @@ global: # global defaults
           label: v12
 
 # application image
-image: onap/aai-schema-service:1.12.10
+image: onap/aai-schema-service:1.12.11
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
index 5e5eff5..65fb244 100644 (file)
 
   <property resource="application.properties" />
 
-  <property name="namespace" value="aai-traversal" />
-
-  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-  <jmxConfigurator />
-  <property name="logDirectory" value="${AJSC_HOME}/logs" />
-
-  <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}" />
-  <property name="p_lvl" value="%level" />
-  <property name="p_log" value="%logger" />
-  <property name="p_mdc" value="%replace(%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}){'\\|', '!'}" />
-  <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}" />
-  <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}" />
-  <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}" />
-  <property name="p_thr" value="%thread" />
-  <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
-  <!-- Patterns from onap demo -->
-  <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
-  <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n" />
-  <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|${p_mak}|${p_mdc}|||%msg%n" />
-  <property name="transLogPattern" value="%X{LogTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{RequestID}|%X{ServiceInstanceID}|%-10t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%replace(%replace(%X{ResponseDesc}){'\\|', '!'}){'\r|\n', '^'}|%X{InstanceUUID}|%level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{clientIpAddress}||%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{PartnerName}:%m%n" />
-  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
     <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
       <providers>
@@ -77,9 +52,6 @@
           <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
         </loggerName>
         <logLevel/>
-        <pattern>
-          <pattern>{"logType":"app"}</pattern>
-        </pattern>
       </providers>
     </encoder>
   </appender>