1 <!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
2 <configuration scan="true" scanPeriod="3 seconds">
3 <include resource="org/springframework/boot/logging/logback/base.xml"/>
4 <!--<jmxConfigurator /> -->
6 <!-- specify the component name -->
7 <property name="componentName" value="DCAE"></property>
9 <!-- log file names -->
10 <property name="generalLogName" value="application" />
11 <property name="securityLogName" value="security" />
12 <property name="performanceLogName" value="performance" />
13 <property name="serverLogName" value="server" />
14 <property name="policyLogName" value="policy" />
15 <property name="errorLogName" value="error" />
16 <property name="metricsLogName" value="metrics" />
17 <property name="auditLogName" value="audit" />
18 <property name="debugLogName" value="debug" />
20 <property name="defaultPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />
22 <property name="auditLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
23 <property name="metricsLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
24 <property name="errorLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}| %msg%n" />
25 <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}| %msg%n" />
27 <property name="logDirectory" value="${log.home}/${componentName}" />
30 <!-- Example evaluator filter applied against console appender -->
31 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
33 <pattern>${defaultPattern}</pattern>
37 <!-- ============================================================================ -->
38 <!-- EELF Appenders -->
39 <!-- ============================================================================ -->
41 <!-- The EELFAppender is used to record events to the general application
46 class="ch.qos.logback.core.rolling.RollingFileAppender">
47 <file>${logDirectory}/${generalLogName}.log</file>
49 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
50 <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
52 <minIndex>1</minIndex>
53 <maxIndex>9</maxIndex>
56 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
57 <maxFileSize>5MB</maxFileSize>
60 <pattern>${defaultPattern}</pattern>
64 <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
65 <queueSize>256</queueSize>
66 <appender-ref ref="EELF" />
69 <!-- EELF Security Appender. This appender is used to record security events
70 to the security log file. Security events are separate from other loggers
71 in EELF so that security log records can be captured and managed in a secure
72 way separate from the other logs. This appender is set to never discard any
74 <appender name="EELFSecurity"
75 class="ch.qos.logback.core.rolling.RollingFileAppender">
76 <file>${logDirectory}/${securityLogName}.log</file>
78 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
79 <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
81 <minIndex>1</minIndex>
82 <maxIndex>9</maxIndex>
85 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
86 <maxFileSize>5MB</maxFileSize>
89 <pattern>${defaultPattern}</pattern>
93 <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
94 <queueSize>256</queueSize>
95 <discardingThreshold>0</discardingThreshold>
96 <appender-ref ref="EELFSecurity" />
99 <!-- EELF Performance Appender. This appender is used to record performance
101 <appender name="EELFPerformance"
102 class="ch.qos.logback.core.rolling.RollingFileAppender">
103 <file>${logDirectory}/${performanceLogName}.log</file>
105 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
106 <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
108 <minIndex>1</minIndex>
109 <maxIndex>9</maxIndex>
112 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
113 <maxFileSize>5MB</maxFileSize>
116 <pattern>${defaultPattern}</pattern>
119 <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
120 <queueSize>256</queueSize>
121 <appender-ref ref="EELFPerformance" />
124 <!-- EELF Server Appender. This appender is used to record Server related
125 logging events. The Server logger and appender are specializations of the
126 EELF application root logger and appender. This can be used to segregate Server
127 events from other components, or it can be eliminated to record these events
128 as part of the application root log. -->
129 <appender name="EELFServer"
130 class="ch.qos.logback.core.rolling.RollingFileAppender">
131 <file>${logDirectory}/${serverLogName}.log</file>
133 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
134 <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
136 <minIndex>1</minIndex>
137 <maxIndex>9</maxIndex>
140 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
141 <maxFileSize>5MB</maxFileSize>
144 <pattern>${defaultPattern}</pattern>
147 <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
148 <queueSize>256</queueSize>
149 <appender-ref ref="EELFServer" />
153 <!-- EELF Policy Appender. This appender is used to record Policy engine
154 related logging events. The Policy logger and appender are specializations
155 of the EELF application root logger and appender. This can be used to segregate
156 Policy engine events from other components, or it can be eliminated to record
157 these events as part of the application root log. -->
158 <appender name="EELFPolicy"
159 class="ch.qos.logback.core.rolling.RollingFileAppender">
160 <file>${logDirectory}/${policyLogName}.log</file>
162 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
163 <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
165 <minIndex>1</minIndex>
166 <maxIndex>9</maxIndex>
169 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
170 <maxFileSize>5MB</maxFileSize>
173 <pattern>${defaultPattern}</pattern>
176 <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
177 <queueSize>256</queueSize>
178 <appender-ref ref="EELFPolicy" />
182 <!-- EELF Audit Appender. This appender is used to record audit engine
183 related logging events. The audit logger and appender are specializations
184 of the EELF application root logger and appender. This can be used to segregate
185 Policy engine events from other components, or it can be eliminated to record
186 these events as part of the application root log. -->
189 <appender name="EELFAudit"
190 class="ch.qos.logback.core.rolling.RollingFileAppender">
191 <file>${logDirectory}/${auditLogName}.log</file>
192 <!-- Audit messages filter - accept audit messages -->
193 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
194 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
195 <marker>AUDIT_MARKER</marker>
196 <marker>AUDIT</marker>
198 <onMismatch>DENY</onMismatch>
199 <onMatch>ACCEPT</onMatch>
202 <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
203 <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip</fileNamePattern>
204 <minIndex>1</minIndex>
205 <maxIndex>10</maxIndex>
209 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
210 <maxFileSize>20MB</maxFileSize>
213 <pattern>${auditLoggerPattern}</pattern>
217 <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
218 <queueSize>256</queueSize>
219 <appender-ref ref="EELFAudit" />
222 <appender name="EELFMetrics"
223 class="ch.qos.logback.core.rolling.RollingFileAppender">
224 <file>${logDirectory}/${metricsLogName}.log</file>
226 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
227 <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
229 <minIndex>1</minIndex>
230 <maxIndex>9</maxIndex>
233 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
234 <maxFileSize>5MB</maxFileSize>
237 <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
238 %msg%n"</pattern> -->
239 <pattern>${metricsLoggerPattern}</pattern>
244 <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
245 <queueSize>256</queueSize>
246 <appender-ref ref="EELFMetrics"/>
249 <appender name="EELFError"
250 class="ch.qos.logback.core.rolling.RollingFileAppender">
251 <file>${logDirectory}/${errorLogName}.log</file>
253 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
254 <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
256 <minIndex>1</minIndex>
257 <maxIndex>9</maxIndex>
260 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
261 <maxFileSize>5MB</maxFileSize>
264 <pattern>${errorLoggerPattern}</pattern>
268 <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
269 <queueSize>256</queueSize>
270 <appender-ref ref="EELFError"/>
273 <appender name="EELFDebug"
274 class="ch.qos.logback.core.rolling.RollingFileAppender">
275 <file>${logDirectory}/${debugLogName}.log</file>
277 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
278 <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip
280 <minIndex>1</minIndex>
281 <maxIndex>9</maxIndex>
284 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
285 <maxFileSize>5MB</maxFileSize>
288 <pattern>${debugLoggerPattern}</pattern>
292 <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
293 <queueSize>256</queueSize>
294 <appender-ref ref="EELFDebug" />
295 <includeCallerData>true</includeCallerData>
299 <!-- ============================================================================ -->
300 <!-- EELF loggers -->
301 <!-- ============================================================================ -->
302 <logger name="com.att.eelf" level="info" additivity="false">
303 <appender-ref ref="asyncEELF" />
305 <logger name="com.att.eelf.security" level="info" additivity="false">
306 <appender-ref ref="asyncEELFSecurity" />
308 <logger name="com.att.eelf.perf" level="info" additivity="false">
309 <appender-ref ref="asyncEELFPerformance" />
311 <logger name="com.att.eelf.server" level="info" additivity="false">
312 <appender-ref ref="asyncEELFServer" />
314 <logger name="com.att.eelf.policy" level="info" additivity="false">
315 <appender-ref ref="asyncEELFPolicy" />
318 <logger name="org.openecomp.sdc.common.ecomplog.EcompLoggerAudit" level="info" additivity="false">
319 <appender-ref ref="asyncEELFAudit" />
322 <logger name="com.att.eelf.metrics" level="info" additivity="false">
323 <appender-ref ref="asyncEELFMetrics" />
327 <logger name="com.att.eelf.error" level="error" additivity="false">
328 <appender-ref ref="asyncEELFError" />
331 <logger name="com.att.eelf.debug" level="debug" additivity="false">
332 <appender-ref ref="asyncEELFDebug" />
339 <appender-ref ref="asyncEELF" />