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"/>
31 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
33 <appender name="ALL_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
34 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log</file>
36 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
37 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/all.log.%i
39 <minIndex>1</minIndex>
40 <maxIndex>10</maxIndex>
43 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
44 <maxFileSize>20MB</maxFileSize>
48 <pattern>${all-log-pattern}</pattern>
56 <appender name="DEBUG_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
57 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log</file>
59 <!-- Audit and Metric messages filter - deny audit and metric messages -->
60 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
61 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
62 <marker>ENTRY</marker>
64 <marker>INVOKE</marker>
65 <marker>INVOKE-RETURN</marker>
66 <marker>INVOKE-SYNCHRONOUS</marker>
68 <onMismatch>NEUTRAL</onMismatch>
69 <onMatch>DENY</onMatch>
72 <!-- accept INFO, DEBUG and TRACE level -->
73 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
74 <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
75 <expression>return level <= INFO;</expression>
77 <OnMismatch>DENY</OnMismatch>
78 <OnMatch>ACCEPT</OnMatch>
81 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
82 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/debug.log.%i
84 <minIndex>1</minIndex>
85 <maxIndex>10</maxIndex>
88 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
89 <maxFileSize>20MB</maxFileSize>
93 <pattern>${debug-log-pattern}</pattern>
97 <appender name="DEBUG_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
98 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
99 <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
100 <expression>return level <= INFO;</expression>
102 <OnMismatch>DENY</OnMismatch>
103 <OnMatch>ACCEPT</OnMatch>
107 <pattern>${debug-log-pattern}</pattern>
113 <appender name="ERROR_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
114 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log</file>
116 <!-- deny all events with a level below WARN, that is INFO TRACE and DEBUG -->
117 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
121 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
122 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/error.log.%i
124 <minIndex>1</minIndex>
125 <maxIndex>10</maxIndex>
128 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
129 <maxFileSize>20MB</maxFileSize>
133 <pattern>${error-log-pattern}</pattern>
137 <appender name="ERROR_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
138 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
143 <pattern>${error-log-pattern}</pattern>
150 <appender name="AUDIT_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
151 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log</file>
153 <!-- Audit messages filter - accept audit messages -->
154 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
155 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
156 <marker>ENTRY</marker>
157 <marker>EXIT</marker>
159 <onMismatch>DENY</onMismatch>
160 <onMatch>ACCEPT</onMatch>
163 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
164 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/audit.log.%i
166 <minIndex>1</minIndex>
167 <maxIndex>10</maxIndex>
170 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
171 <maxFileSize>20MB</maxFileSize>
175 <pattern>${audit-log-pattern}</pattern>
181 <appender name="METRICS_ROLLING"
182 class="ch.qos.logback.core.rolling.RollingFileAppender">
184 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log
187 <!-- Metric messages filter - accept metric messages -->
188 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
189 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
190 <marker>INVOKE</marker>
191 <marker>INVOKE-RETURN</marker>
192 <marker>INVOKE-SYNCHRONOUS</marker>
194 <onMismatch>DENY</onMismatch>
195 <onMatch>ACCEPT</onMatch>
198 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
199 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/metrics.log.%i
201 <minIndex>1</minIndex>
202 <maxIndex>10</maxIndex>
205 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
206 <maxFileSize>20MB</maxFileSize>
210 <pattern>${metric-log-pattern}</pattern>
215 <!-- Supportability log -->
216 <appender name="SUPPORTABILITY_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
218 <file>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log</file>
220 <!-- Supportability messages filter - accept supportability messages -->
221 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
222 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
223 <marker>SUPPORTABILITY_MARKER</marker>
225 <onMismatch>DENY</onMismatch>
226 <onMatch>ACCEPT</onMatch>
229 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
230 <fileNamePattern>${log.home}/${ECOMP-component-name}/${ECOMP-subcomponent-name}/supportability.log.%i
232 <minIndex>1</minIndex>
233 <maxIndex>10</maxIndex>
237 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
238 <maxFileSize>20MB</maxFileSize>
242 <pattern>${supportability-log-pattern}</pattern>
247 <!-- Asynchronicity Configurations -->
248 <appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender">
249 <appender-ref ref="DEBUG_ROLLING"/>
252 <appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
253 <appender-ref ref="ERROR_ROLLING"/>
256 <appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender">
257 <appender-ref ref="ALL_ROLLING"/>
262 <appender-ref ref="ASYNC_DEBUG"/>
263 <appender-ref ref="ASYNC_ERROR"/>
264 <appender-ref ref="AUDIT_ROLLING"/>
265 <appender-ref ref="METRICS_ROLLING"/>
266 <appender-ref ref="SUPPORTABILITY_ROLLING"/>
267 <appender-ref ref="DEBUG_STDOUT"/>
268 <appender-ref ref="ERROR_STDOUT"/>
269 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
271 <appender-ref ref="ASYNC_ALL"/>
276 <logger name="org.openecomp.sdc" level="INFO"/>