[POLICY] Add logback configuration files

Have logging configuration files available in charts
and log to stdout by default

Issue-ID: POLICY-2682
Signed-off-by: Bruno Sakoto <bruno.sakoto@bell.ca>
Change-Id: Ic247723f31bd99c3c2801343cbb4ab42e6319e01
diff --git a/kubernetes/policy/charts/drools/resources/configmaps/logback.xml b/kubernetes/policy/charts/drools/resources/configmaps/logback.xml
new file mode 100644
index 0000000..49a476c
--- /dev/null
+++ b/kubernetes/policy/charts/drools/resources/configmaps/logback.xml
@@ -0,0 +1,162 @@
+<!--

+  ============LICENSE_START=======================================================

+   Copyright (C) 2020 Bell Canada. All rights reserved.

+  ================================================================================

+  Licensed under the Apache License, Version 2.0 (the "License");

+  you may not use this file except in compliance with the License.

+  You may obtain a copy of the License at

+       http://www.apache.org/licenses/LICENSE-2.0

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+  SPDX-License-Identifier: Apache-2.0

+  ============LICENSE_END=========================================================

+-->

+

+<configuration scan="true" scanPeriod="30 seconds" debug="false">

+

+    <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">

+        <file>/var/log/onap/policy/pdpd/error.log</file>

+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

+            <fileNamePattern>/var/log/onap/policy/pdpd/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>

+            <maxFileSize>50MB</maxFileSize>

+            <maxHistory>30</maxHistory>

+            <totalSizeCap>10GB</totalSizeCap>

+        </rollingPolicy>

+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

+            <level>WARN</level>

+        </filter>

+        <encoder>

+            <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="ErrorOut" />

+    </appender>

+

+    <appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">

+        <file>/var/log/onap/policy/pdpd/debug.log</file>

+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

+            <fileNamePattern>/var/log/onap/policy/pdpd/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>

+            <maxFileSize>50MB</maxFileSize>

+            <maxHistory>30</maxHistory>

+            <totalSizeCap>10GB</totalSizeCap>

+        </rollingPolicy>

+        <encoder>

+            <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="DebugOut" />

+    </appender>

+

+    <appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">

+        <file>/var/log/onap/policy/pdpd/network.log</file>

+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

+            <fileNamePattern>/var/log/onap/policy/pdpd/network.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>

+            <maxFileSize>50MB</maxFileSize>

+            <maxHistory>30</maxHistory>

+            <totalSizeCap>10GB</totalSizeCap>

+        </rollingPolicy>

+        <encoder>

+            <pattern>[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="NetworkOut" />

+    </appender>

+

+    <appender name="MetricOut" class="ch.qos.logback.core.rolling.RollingFileAppender">

+        <file>/var/log/onap/policy/pdpd/metric.log</file>

+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

+            <fileNamePattern>/var/log/onap/policy/pdpd/metric.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>

+            <maxFileSize>50MB</maxFileSize>

+            <maxHistory>30</maxHistory>

+            <totalSizeCap>10GB</totalSizeCap>

+        </rollingPolicy>

+        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />

+        <encoder>

+            <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncMetricOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="MetricOut" />

+    </appender>

+

+    <appender name="TransactionOut" class="ch.qos.logback.core.rolling.RollingFileAppender">

+        <file>/var/log/onap/policy/pdpd/audit.log</file>

+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

+            <fileNamePattern>/var/log/onap/policy/pdpd/audit.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>

+            <maxFileSize>50MB</maxFileSize>

+            <maxHistory>30</maxHistory>

+            <totalSizeCap>10GB</totalSizeCap>

+        </rollingPolicy>

+        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />

+        <encoder>

+            <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncTransactionOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="TransactionOut" />

+    </appender>

+

+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

+        <encoder>

+            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncStdOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="STDOUT" />

+    </appender>

+

+    <appender name="MetricStdOut" class="ch.qos.logback.core.ConsoleAppender">

+        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$MetricLoggerMarkerFilter" />

+        <encoder>

+            <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncMetricStdOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="MetricStdOut" />

+    </appender>

+

+    <appender name="TransactionStdOut" class="ch.qos.logback.core.ConsoleAppender">

+        <filter class="org.onap.policy.drools.utils.logging.LoggerMarkerFilter$TransactionLoggerMarkerFilter" />

+        <encoder>

+            <pattern>%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}||%X{TargetVirtualEntity}|%level|%thread| %msg%n</pattern>

+        </encoder>

+    </appender>

+

+    <appender name="AsyncTransactionStdOut" class="ch.qos.logback.classic.AsyncAppender">

+        <appender-ref ref="TransactionStdOut" />

+    </appender>

+

+    <logger name="network" level="INFO" additivity="false">

+        <appender-ref ref="AsyncNetworkOut" />

+        <appender-ref ref="AsyncStdOut" />

+    </logger>

+

+    <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">

+        <appender-ref ref="AsyncNetworkOut" />

+        <appender-ref ref="AsyncStdOut" />

+    </logger>

+

+    <root level="INFO">

+        <appender-ref ref="AsyncDebugOut" />

+        <appender-ref ref="AsyncErrorOut" />

+        <appender-ref ref="AsyncMetricOut" />

+        <appender-ref ref="AsyncTransactionOut" />

+        <appender-ref ref="AsyncStdOut" />

+        <appender-ref ref="AsyncMetricStdOut" />

+        <appender-ref ref="AsyncTransactionStdOut" />

+    </root>

+

+</configuration>
\ No newline at end of file