[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-be / lib / openecomp-core-lib / openecomp-config-lib / src / main / resources / logback.xml
index e256e0b..92c486e 100644 (file)
-<!--
 <?xml version="1.0" encoding="UTF-8"?>
-<configuration>
+<configuration scan="true" scanPeriod="5 seconds">
 
+       <property scope="system" name="OPENECOMP-component-name" value="ASDC" />
+       <property scope="system" name="OPENECOMP-subcomponent-name" value="ASDC-BE" />
+       <property file="${config.home}/catalog-be/configuration.yaml" />
+       <property scope="context" name="enable-all-log" value="false" />
 
+       <!--statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+    <include resource="asdc_debug_logback.xml"/-->
+
+       <!-- value used by pattern field list (| - is inter-field separator, || - unavailable or not applicable field value) (m - mandatory, o- optional)-->
+       <!--timestamp(m)| requestID(m)| serviceInstanceID(o)| threadID(m)| physicalServerName(o)| serviceName(m)| userID(m)| logLevel(m)| severity(o)| serverIpAddress(m)| serverName(m)| clientIpAddress(o)| className(m)| timer(o)| detailedMessage(o)-->
+       <property name="default-log-pattern"
+                         value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{uuid}|%X{serviceInstanceID}|%thread||${OPENECOMP-subcomponent-name}|%X{userId}|%level|%X{alarmSeverity}|%X{localAddr}|${beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=&lt;%M&gt;, Desc=&lt;%msg&gt;%n" />
+
+       <property name="asdc-debug-log-pattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%msg %n"/>
+
+       <!-- All log -->
+       <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+               <then>
+                       <appender name="ALL_ROLLING"
+                                         class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/all.log
+                               </file>
+
+                               <rollingPolicy
+                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/all.log.%i
+                                       </fileNamePattern>
+                                       <minIndex>1</minIndex>
+                                       <maxIndex>10</maxIndex>
+                               </rollingPolicy>
+
+                               <triggeringPolicy
+                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                                       <maxFileSize>20MB</maxFileSize>
+                               </triggeringPolicy>
+                               <encoder>
+                                       <pattern>${default-log-pattern}</pattern>
+                               </encoder>
+                       </appender>
+
+                       <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender">
+                               <appender-ref ref="ALL_ROLLING" />
+                       </appender>
+               </then>
+       </if>
+
+       <!-- Error log -->
+       <appender name="ERROR_ROLLING"
+                         class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/Error.log
+               </file>
+
+               <!-- Audit messages filter - deny audit messages -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>AUDIT_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>NEUTRAL</onMismatch>
+                       <onMatch>DENY</onMatch>
+               </filter>
+
+               <!-- Transaction messages filter - deny Transaction messages -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>TRANSACTION_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>NEUTRAL</onMismatch>
+                       <onMatch>DENY</onMatch>
+               </filter>
+
+               <!-- 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>
+
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/Error.log.%i
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>10</maxIndex>
+               </rollingPolicy>
+
+               <triggeringPolicy
+                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>20MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>${default-log-pattern}</pattern>
+               </encoder>
+       </appender>
+
+       <!-- Debug log -->
        <appender name="DEBUG_ROLLING"
                          class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>DOX-BE.log
+               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/debug.log
                </file>
 
-               &lt;!&ndash; No need to deny audit messages - they are INFO only, will be denied
-                       anyway &ndash;&gt;
-               &lt;!&ndash; Transaction messages filter - deny Transaction messages, there are
-                       some DEBUG level messages among them &ndash;&gt;
+               <!-- No need to deny audit messages - they are INFO only, will be denied
+            anyway -->
+               <!-- Transaction messages filter - deny Transaction messages, there are
+            some DEBUG level messages among them -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>TRANSACTION_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>NEUTRAL</onMismatch>
+                       <onMatch>DENY</onMatch>
+               </filter>
 
+               <!-- accept DEBUG and TRACE level -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+                               <expression>
+                                       e.level.toInt() &lt;= DEBUG.toInt()
+                               </expression>
+                       </evaluator>
+                       <OnMismatch>DENY</OnMismatch>
+                       <OnMatch>NEUTRAL</OnMatch>
+               </filter>
 
-               &lt;!&ndash; accept DEBUG and TRACE level &ndash;&gt;
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/debug.log.%i
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>10</maxIndex>
+               </rollingPolicy>
+
+               <triggeringPolicy
+                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>20MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>${default-log-pattern}</pattern>
+               </encoder>
+       </appender>
+
+       <!-- Debug log -->
+       <appender name="PACKAGE_DEBUG_ROLLING"
+                         class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/debug_by_package.log
+               </file>
+
+               <!-- No need to deny audit messages - they are INFO only, will be denied
+            anyway -->
+               <!-- Transaction messages filter - deny Transaction messages, there are
+            some DEBUG level messages among them -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>TRANSACTION_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>NEUTRAL</onMismatch>
+                       <onMatch>DENY</onMatch>
+               </filter>
+
+               <!-- accept DEBUG and TRACE level -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+                               <expression>
+                                       e.level.toInt() &lt;= DEBUG.toInt()
+                               </expression>
+                       </evaluator>
+                       <OnMismatch>DENY</OnMismatch>
+                       <OnMatch>NEUTRAL</OnMatch>
+               </filter>
 
                <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>/DOX-BE.log.%i
+                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/debug_by_package.log.%i
                        </fileNamePattern>
                        <minIndex>1</minIndex>
                        <maxIndex>10</maxIndex>
                        <maxFileSize>20MB</maxFileSize>
                </triggeringPolicy>
                <encoder>
-                       <pattern>%level [%d{yyyy-MM-dd'T'HH:mm:ss}] - Method=%M,        Desc=&lt;%msg&gt;%n</pattern>
+                       <pattern>${asdc-debug-log-pattern}</pattern>
                </encoder>
        </appender>
 
+       <!-- Audit log -->
+       <appender name="AUDIT_ROLLING"
+                         class="ch.qos.logback.core.rolling.RollingFileAppender">
 
-       <root level="info">
+               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/audit.log
+               </file>
+
+               <!-- Audit messages filter - accept audit messages -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>AUDIT_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>DENY</onMismatch>
+                       <onMatch>ACCEPT</onMatch>
+               </filter>
+
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/audit.log.%i
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>10</maxIndex>
+               </rollingPolicy>
+
+               <triggeringPolicy
+                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>20MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>${default-log-pattern}</pattern>
+               </encoder>
+       </appender>
+
+       <!-- SdncTransaction log -->
+       <appender name="TRANSACTION_ROLLING"
+                         class="ch.qos.logback.core.rolling.RollingFileAppender">
+
+               <file>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/transaction.log
+               </file>
+
+               <!-- Transaction messages filter - accept audit messages -->
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+                       <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
+                               <marker>TRANSACTION_MARKER</marker>
+                       </evaluator>
+                       <onMismatch>DENY</onMismatch>
+                       <onMatch>ACCEPT</onMatch>
+               </filter>
+
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${log.home}/${OPENECOMP-component-name}/${OPENECOMP-subcomponent-name}/transaction.log.%i
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>10</maxIndex>
+               </rollingPolicy>
+
+               <triggeringPolicy
+                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>20MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>${default-log-pattern}</pattern>
+               </encoder>
+       </appender>
+
+       <!-- Asynchronicity Configurations -->
+       <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender">
                <appender-ref ref="DEBUG_ROLLING" />
+       </appender>
+
+       <appender name="ASYNC_TRANSACTION" class="ch.qos.logback.classic.AsyncAppender">
+               <appender-ref ref="TRANSACTION_ROLLING" />
+       </appender>
+
+       <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
+               <appender-ref ref="ERROR_ROLLING" />
+       </appender>
+
+
+       <root level="INFO">
+               <appender-ref ref="ASYNC_ERROR" />
+               <appender-ref ref="ASYNC_DEBUG" />
+               <appender-ref ref="AUDIT_ROLLING" />
+               <appender-ref ref="ASYNC_TRANSACTION" />
+               <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
+                       <then>
+                               <appender-ref ref="ALL_ROLLING" />
+                       </then>
+               </if>
        </root>
-</configuration>-->
-<configuration scan="true" scanPeriod="3 seconds">
-
-    <property name="logDir" value="logs"/>
-    <property name="componentName" value="ASDC"/>
-    <property name="ECOMP-subcomponent-name" value="ASDC-BE"/>
-
-    <property name="defaultPattern"
-              value="%msg%n"/>
-
-    <!--<property name="MetricsLogPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{CategoryLogLevel}|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIP}|%logger%n" />
-    <property name="AuditLogPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{CategoryLogLevel}|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIP}%n" />
-    <property name="ErrorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS, GMT}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDescription}|%msg%n"/>
-    <property name="DebugLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS, GMT}|%X{RequestId}||%logger|%msg%n"/>-->
-
-    <!-- new pattern -->
-    <property name="default-log-pattern"
-              value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{uuid}|%X{serviceInstanceID}|%thread|%X{ServerName}|%X{ServiceName}|${ECOMP-subcomponent-name}|%X{userId}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDescription}|%level|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|%X{beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=&lt;%M&gt;, Desc=&lt;%msg&gt;%n"/>
-
-    <property name="logDirectory" value="${logDir}/${componentName}"/>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>${defaultPattern}</pattern>
-        </encoder>
-    </appender>
-
-    <appender name="DISPATCHER" class="ch.qos.logback.classic.sift.SiftingAppender">
-        <discriminator class="org.openecomp.core.logging.logback.EventTypeDiscriminator"/>
-        <sift>
-            <appender name="${eventType}" class="ch.qos.logback.core.rolling.RollingFileAppender">
-                <file>${logDirectory}/${eventType}.log</file>
-                <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                    <fileNamePattern>${logDirectory}/${eventType}.%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>${default-log-pattern}</pattern>
-                </encoder>
-            </appender>
-        </sift>
-    </appender>
-
-    <root level="DEBUG">
-        <appender-ref ref="DISPATCHER"/>
-    </root>
 
+       <logger name="org.openecomp.sdc" level="INFO" />
+
+       <logger name="org.openecomp.sdc.vendorsoftwareproduct" level="DEBUG" additivity ="false">
+               <appender-ref ref="PACKAGE_DEBUG_ROLLING" />
+       </logger>
+
+       <logger name="org.openecomp.sdc.vendorlicense" level="DEBUG" additivity ="false">
+               <appender-ref ref="PACKAGE_DEBUG_ROLLING" />
+       </logger>
 </configuration>
\ No newline at end of file