1 <?xml version="1.0" encoding="UTF-8"?>
2 <configuration scan="true" scanPeriod="5 seconds">
4 <property scope="system" name="ECOMP-component-name" value="SDC"/>
5 <property scope="system" name="ECOMP-subcomponent-name" value="SDC-BE"/>
6 <property file="${config.home}/catalog-be/configuration.yaml"/>
7 <property scope="context" name="enable-all-log" value="false"/>
8 <property name="p_msg" value="%replace(%replace(%replace(%replace(%msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
9 <property name="p_ex" value="%replace(%replace(%replace(%replace(%exception{full}){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
10 <property name="p_debugInfo" value="%replace(%replace(%replace(%replace(%thread#%level#%logger{35}#%msg){'\t','\\\\t'}){'\n', '\\\\n'}){'\\\|', '-'}){'\r','\\\\r'}"/>
12 <property name="all-log-pattern"
13 value="%date{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{InstanceID}|%level|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|${beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=<%M>, Desc=<${p_msg}>%n"/>
15 <property name="debug-log-pattern"
16 value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|${p_debugInfo} ${p_ex}|^\n%n%nopex"/>
18 <property name="error-log-pattern"
19 value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|${p_msg} ${p_ex}|%n%nopex"/>
21 <property name="audit-log-pattern"
22 value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%logger{35}|%X{Unused}|%X{ProcessKey}|%marker|InvocationID=%X{InvocationID}|%X{CustomField3}|%X{CustomField4}|ActivityType=<%M>, Desc=<${p_msg}>%n"/>
24 <property name="metric-log-pattern"
25 value="%X{InvokeTimestamp}|%X{EndTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceID}|%.-5level|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|||%X{ClassName}|%X{Unused}|%X{ProcessKey}|%marker|InvocationID=%X{OutgoingInvocationId}|%X{CustomField3}|%X{CustomField4}|ActivityType=<%M>, Desc=<%msg>%n" />
27 <property name="supportability-log-pattern"
28 value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{SupportablityComponentName}|%X{SupportablityAction}|%thread|%X{SupportablityComponentUUID}|%X{SupportablityStatus}|ActivityType=<%M>, Desc=<${p_msg}>%n"/>
32 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
34 <appender name="ALL_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
35 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log</file>
37 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
38 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log.%i
40 <minIndex>1</minIndex>
41 <maxIndex>10</maxIndex>
44 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
45 <maxFileSize>20MB</maxFileSize>
49 <pattern>${all-log-pattern}</pattern>
57 <appender name="DEBUG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
58 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log</file>
60 <!-- Audit and Metric messages filter - deny audit and metric messages -->
61 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
62 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
63 <marker>ENTRY</marker>
65 <marker>INVOKE</marker>
66 <marker>INVOKE-RETURN</marker>
67 <marker>INVOKE-SYNCHRONOUS</marker>
69 <onMismatch>NEUTRAL</onMismatch>
70 <onMatch>DENY</onMatch>
73 <!-- accept INFO, DEBUG and TRACE level -->
74 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
75 <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
77 e.level.toInt() <= INFO.toInt()
80 <OnMismatch>DENY</OnMismatch>
81 <OnMatch>ACCEPT</OnMatch>
84 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
85 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log.%i
87 <minIndex>1</minIndex>
88 <maxIndex>10</maxIndex>
91 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
92 <maxFileSize>20MB</maxFileSize>
96 <pattern>${debug-log-pattern}</pattern>
102 <appender name="ERROR_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
103 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log</file>
105 <!-- deny all events with a level below WARN, that is INFO TRACE and DEBUG -->
106 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
110 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
111 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log.%i
113 <minIndex>1</minIndex>
114 <maxIndex>10</maxIndex>
117 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
118 <maxFileSize>20MB</maxFileSize>
122 <pattern>${error-log-pattern}</pattern>
128 <appender name="AUDIT_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
129 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log</file>
131 <!-- Audit messages filter - accept audit messages -->
132 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
133 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
134 <marker>ENTRY</marker>
135 <marker>EXIT</marker>
137 <onMismatch>DENY</onMismatch>
138 <onMatch>ACCEPT</onMatch>
141 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
142 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log.%i
144 <minIndex>1</minIndex>
145 <maxIndex>10</maxIndex>
148 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
149 <maxFileSize>20MB</maxFileSize>
153 <pattern>${audit-log-pattern}</pattern>
159 <appender name="METRICS_ROLLING"
160 class="ch.qos.logback.core.rolling.RollingFileAppender">
162 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log
165 <!-- Metric messages filter - accept metric messages -->
166 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
167 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
168 <marker>INVOKE</marker>
169 <marker>INVOKE-RETURN</marker>
170 <marker>INVOKE-SYNCHRONOUS</marker>
172 <onMismatch>DENY</onMismatch>
173 <onMatch>ACCEPT</onMatch>
176 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
177 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log.%i
179 <minIndex>1</minIndex>
180 <maxIndex>10</maxIndex>
183 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
184 <maxFileSize>20MB</maxFileSize>
188 <pattern>${metric-log-pattern}</pattern>
193 <!-- Supporability log -->
194 <appender name="SUPPORTABILITY_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
196 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log</file>
198 <!-- Supporability messages filter - accept suppportability messages -->
199 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
200 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
201 <marker>SUPPORTABILITY_MARKER</marker>
203 <onMismatch>DENY</onMismatch>
204 <onMatch>ACCEPT</onMatch>
207 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
208 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log.%i
210 <minIndex>1</minIndex>
211 <maxIndex>10</maxIndex>
215 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
216 <maxFileSize>20MB</maxFileSize>
220 <pattern>${supportability-log-pattern}</pattern>
225 <!-- Asynchronicity Configurations -->
226 <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender">
227 <appender-ref ref="DEBUG_ROLLING"/>
230 <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
231 <appender-ref ref="ERROR_ROLLING"/>
234 <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender">
235 <appender-ref ref="ALL_ROLLING"/>
240 <appender-ref ref="ASYNC_DEBUG"/>
241 <appender-ref ref="ASYNC_ERROR"/>
242 <appender-ref ref="AUDIT_ROLLING"/>
243 <appender-ref ref="METRICS_ROLLING"/>
244 <appender-ref ref="SUPPORTABILITY_ROLLING"/>
245 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
247 <appender-ref ref="ASYNC_ALL"/>
252 <logger name="org.openecomp.sdc" level="INFO"/>