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