1 <?xml version="1.0" encoding="utf-8"?>
2 <configuration debug="true" scan="true" scanPeriod="3 seconds">
4 Logback files for the ECOMP SDK Application "ecomp_app"
5 are created in directory ${catalina.base}/logs/ecomp_app;
6 e.g., apache-tomcat-8.0.35/logs/ecomp_app/application.log
8 <!--<jmxConfigurator /> -->
9 <!-- specify the component name -->
10 <property name="componentName" value="portal"></property>
11 <property name="subComponentName" value="portalDB"></property>
12 <!-- specify the base path of the log directory -->
13 <property name="logDirPrefix" value="/var/log/onap"></property>
14 <!-- The directories where logs are written -->
15 <property name="logDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
16 <!-- Can easily relocate debug logs by modifying this path. -->
17 <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}/${subComponentName}" />
18 <!-- log file names -->
19 <property name="generalLogName" value="application" />
20 <property name="errorLogName" value="error" />
21 <property name="metricsLogName" value="metrics" />
22 <property name="auditLogName" value="audit" />
23 <property name="debugLogName" value="debug" />
25 These loggers are not used in code (yet).
26 <property name="securityLogName" value="security" />
27 <property name="policyLogName" value="policy" />
28 <property name="performanceLogName" value="performance" />
29 <property name="serverLogName" value="server" />
31 <property name="pattern" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
32 <property name="maxHistory" value="30" />
33 <property name="queueSize" value="256" />
34 <property name="maxFileSize" value="50MB" />
35 <property name="totalSizeCap" value="10GB" />
36 <!-- Example evaluator filter applied against console appender -->
37 <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
39 <pattern>${pattern}</pattern>
42 <!-- ============================================================================ -->
43 <!-- EELF Appenders -->
44 <!-- ============================================================================ -->
45 <!-- The EELFAppender is used to record events to the general application
47 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">
48 <file>${logDirectory}/${generalLogName}.log</file>
49 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
50 <!-- daily rollover -->
51 <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
52 <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
53 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
54 <maxFileSize>${maxFileSize}</maxFileSize>
55 </timeBasedFileNamingAndTriggeringPolicy>
56 <maxHistory>${maxHistory}</maxHistory>
57 <totalSizeCap>${totalSizeCap}</totalSizeCap>
60 <pattern>${pattern}</pattern>
62 <filter class="org.openecomp.fusionapp.util.CustomLoggingFilter" />
64 <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
65 <queueSize>${queueSize}</queueSize>
66 <!-- Class name is part of caller data -->
67 <includeCallerData>true</includeCallerData>
68 <appender-ref ref="EELF" />
70 <!-- EELF Security Appender. This appender is used to record security events
71 to the security log file. Security events are separate from other loggers
72 in EELF so that security log records can be captured and managed in a secure
73 way separate from the other logs. This appender is set to never discard any
76 <appender name="EELFSecurity"
77 class="ch.qos.logback.core.rolling.RollingFileAppender">
78 <file>${logDirectory}/${securityLogName}.log</file>
80 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
81 <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
83 <minIndex>1</minIndex>
84 <maxIndex>9</maxIndex>
87 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
88 <maxFileSize>5MB</maxFileSize>
91 <pattern>${defaultPattern}</pattern>
95 <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
96 <queueSize>256</queueSize>
97 <discardingThreshold>0</discardingThreshold>
98 <appender-ref ref="EELFSecurity" />
101 <!-- EELF Performance Appender. This appender is used to record performance
104 <appender name="EELFPerformance"
105 class="ch.qos.logback.core.rolling.RollingFileAppender">
106 <file>${logDirectory}/${performanceLogName}.log</file>
108 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
109 <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
111 <minIndex>1</minIndex>
112 <maxIndex>9</maxIndex>
115 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
116 <maxFileSize>5MB</maxFileSize>
119 <outputPatternAsHeader>true</outputPatternAsHeader>
120 <pattern>${defaultPattern}</pattern>
123 <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
124 <queueSize>256</queueSize>
125 <appender-ref ref="EELFPerformance" />
128 <!-- EELF Server Appender. This appender is used to record Server related
129 logging events. The Server logger and appender are specializations of the
130 EELF application root logger and appender. This can be used to segregate Server
131 events from other components, or it can be eliminated to record these events
132 as part of the application root log. -->
134 <appender name="EELFServer"
135 class="ch.qos.logback.core.rolling.RollingFileAppender">
136 <file>${logDirectory}/${serverLogName}.log</file>
138 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
139 <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
141 <minIndex>1</minIndex>
142 <maxIndex>9</maxIndex>
145 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
146 <maxFileSize>5MB</maxFileSize>
149 <pattern>${defaultPattern}</pattern>
152 <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
153 <queueSize>256</queueSize>
154 <appender-ref ref="EELFServer" />
157 <!-- EELF Policy Appender. This appender is used to record Policy engine
158 related logging events. The Policy logger and appender are specializations
159 of the EELF application root logger and appender. This can be used to segregate
160 Policy engine events from other components, or it can be eliminated to record
161 these events as part of the application root log. -->
163 <appender name="EELFPolicy"
164 class="ch.qos.logback.core.rolling.RollingFileAppender">
165 <file>${logDirectory}/${policyLogName}.log</file>
167 class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
168 <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
170 <minIndex>1</minIndex>
171 <maxIndex>9</maxIndex>
174 class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
175 <maxFileSize>5MB</maxFileSize>
178 <pattern>${defaultPattern}</pattern>
181 <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
182 <queueSize>256</queueSize>
183 <appender-ref ref="EELFPolicy" />
186 <!-- EELF Audit Appender. This appender is used to record audit engine
187 related logging events. The audit logger and appender are specializations
188 of the EELF application root logger and appender. This can be used to segregate
189 Policy engine events from other components, or it can be eliminated to record
190 these events as part of the application root log. -->
191 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">
192 <file>${logDirectory}/${auditLogName}.log</file>
193 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
194 <!-- daily rollover -->
195 <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
196 <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
197 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
198 <maxFileSize>${maxFileSize}</maxFileSize>
199 </timeBasedFileNamingAndTriggeringPolicy>
200 <maxHistory>${maxHistory}</maxHistory>
201 <totalSizeCap>${totalSizeCap}</totalSizeCap>
204 <pattern>${pattern}</pattern>
207 <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">
208 <queueSize>${queueSize}</queueSize>
209 <appender-ref ref="EELFAudit" />
211 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">
212 <file>${logDirectory}/${metricsLogName}.log</file>
213 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
214 <!-- daily rollover -->
215 <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
216 <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
217 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
218 <maxFileSize>${maxFileSize}</maxFileSize>
219 </timeBasedFileNamingAndTriggeringPolicy>
220 <maxHistory>${maxHistory}</maxHistory>
221 <totalSizeCap>${totalSizeCap}</totalSizeCap>
224 <pattern>${pattern}</pattern>
227 <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">
228 <queueSize>${queueSize}</queueSize>
229 <appender-ref ref="EELFMetrics" />
231 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">
232 <file>${logDirectory}/${errorLogName}.log</file>
233 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
234 <!-- daily rollover -->
235 <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
236 <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
237 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
238 <maxFileSize>${maxFileSize}</maxFileSize>
239 </timeBasedFileNamingAndTriggeringPolicy>
240 <maxHistory>${maxHistory}</maxHistory>
241 <totalSizeCap>${totalSizeCap}</totalSizeCap>
244 <pattern>${pattern}</pattern>
247 <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">
248 <queueSize>${queueSize}</queueSize>
249 <appender-ref ref="EELFError" />
251 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
252 <file>${debugLogDirectory}/${debugLogName}.log</file>
253 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
254 <!-- daily rollover -->
255 <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
256 <!-- keep 30 days' worth of history capped at ${totalSizeCap} total size -->
257 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
258 <maxFileSize>${maxFileSize}</maxFileSize>
259 </timeBasedFileNamingAndTriggeringPolicy>
260 <maxHistory>${maxHistory}</maxHistory>
261 <totalSizeCap>${totalSizeCap}</totalSizeCap>
264 <pattern>${pattern}</pattern>
267 <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">
268 <queueSize>${queueSize}</queueSize>
269 <appender-ref ref="EELFDebug" />
271 <!-- ============================================================================ -->
272 <!-- EELF loggers -->
273 <!-- ============================================================================ -->
274 <logger additivity="false" level="debug" name="com.att.eelf">
275 <appender-ref ref="asyncEELF" />
278 <logger name="com.att.eelf.security" level="info" additivity="false">
279 <appender-ref ref="asyncEELFSecurity" />
281 <logger name="com.att.eelf.perf" level="info" additivity="false">
282 <appender-ref ref="asyncEELFPerformance" />
284 <logger name="com.att.eelf.server" level="info" additivity="false">
285 <appender-ref ref="asyncEELFServer" />
287 <logger name="com.att.eelf.policy" level="info" additivity="false">
288 <appender-ref ref="asyncEELFPolicy" />
291 <logger additivity="false" level="info" name="com.att.eelf.audit">
292 <appender-ref ref="asyncEELFAudit" />
294 <logger additivity="false" level="info" name="com.att.eelf.metrics">
295 <appender-ref ref="asyncEELFMetrics" />
297 <logger additivity="false" level="info" name="com.att.eelf.error">
298 <appender-ref ref="asyncEELFError" />
300 <logger additivity="false" level="debug" name="com.att.eelf.debug">
301 <appender-ref ref="asyncEELFDebug" />
304 <appender-ref ref="asyncEELF" />