[SDC] use of certInitializer template
[oom.git] / kubernetes / sdc / components / sdc-onboarding-be / resources / config / logging / logback.xml
diff --git a/kubernetes/sdc/components/sdc-onboarding-be/resources/config/logging/logback.xml b/kubernetes/sdc/components/sdc-onboarding-be/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..515076f
--- /dev/null
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+# Copyright © 2018 Amdocs, Bell Canada, AT&T, ZTE\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#       http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+-->\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-onboarding-be"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-be/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</configuration>\r