[AAI] OOM AAI graphadmin logging structure enhancement
[oom.git] / kubernetes / aai / components / aai-graphadmin / resources / config / logback.xml
1 <?xml version="1.0"?>
2 <!--
3 {{/*
4     ============LICENSE_START=======================================================
5     org.onap.aai
6     ================================================================================
7     Copyright 2019 AT&T Intellectual Property. All rights reserved.
8     ================================================================================
9     Licensed under the Apache License, Version 2.0 (the "License");
10     you may not use this file except in compliance with the License.
11     You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15     Unless required by applicable law or agreed to in writing, software
16     distributed under the License is distributed on an "AS IS" BASIS,
17     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18     See the License for the specific language governing permissions and
19     limitations under the License.
20     ============LICENSE_END=========================================================
21 */}}
22 -->
23 <configuration scan="true" scanPeriod="60 seconds" debug="false">
24   <statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
25   <property resource="application.properties"/>
26   <property name="namespace" value="graph-admin"/>
27   <property name="AJSC_HOME" value="${AJSC_HOME:-.}"/>
28   <property name="logDirectory" value="${AJSC_HOME}/logs"/>
29   <property name="maxHistory" value='{{.Values.logback.maxHistory}}' />
30   <property name="totalSizeCap" value='{{.Values.logback.totalSizeCap}}' />
31   <property name="queueSize" value='{{.Values.logback.queueSize}}'/>
32   <property name="logToFileEnabled" value='{{.Values.logback.logToFileEnabled}}'/>
33   <!-- Old patterns
34     <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
35     <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
36     <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
37     <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
38     <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
39     <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
40     -->
41   <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
42   <property name="p_lvl" value="%level"/>
43   <property name="p_log" value="%logger"/>
44   <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
45   <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
46   <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
47   <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
48   <property name="p_thr" value="%thread"/>
49   <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
50   <!-- Patterns from onap demo -->
51   <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n"/>
52   <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n"/>
53   <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||${p_mak}|${p_mdc}|||%msg%n"/>
54   <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|${p_mak}|${p_mdc}|||%msg%n"/>
55   <property name="transLogPattern" value="%X{LogTimestamp}|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{RequestID}|%X{ServiceInstanceID}|%-10t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%replace(%replace(%X{ResponseDesc}){'\\|', '!'}){'\r|\n', '^'}|%X{InstanceUUID}|%level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{clientIpAddress}||%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{PartnerName}:%m%n"/>
56   <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
57   <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
58   <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
59
60   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
61     <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
62       <providers>
63         <timestamp><fieldName>timestamp</fieldName></timestamp>
64         <message/>
65         <mdc>
66           <fieldName>context</fieldName>
67           <excludeMdcKeyName>ServerIPAddress</excludeMdcKeyName>
68           <excludeMdcKeyName>EntryTimestamp</excludeMdcKeyName>
69           <excludeMdcKeyName>InvokeTimestamp</excludeMdcKeyName>
70           <excludeMdcKeyName>ErrorCode</excludeMdcKeyName>
71           <excludeMdcKeyName>ErrorDesc</excludeMdcKeyName>
72         </mdc>
73         <stackTrace>
74           <fieldName>exception</fieldName>
75           <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
76             <exclude>^sun\.reflect\..*\.invoke</exclude>
77             <exclude>^net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
78             <rootCauseFirst>true</rootCauseFirst>
79           </throwableConverter>
80         </stackTrace>
81         <threadName><fieldName>thread</fieldName></threadName>
82         <loggerName>
83           <fieldName>logger</fieldName>
84           <shortenedLoggerNameLength>36</shortenedLoggerNameLength>
85         </loggerName>
86         <logLevel/>
87         <pattern>
88           <pattern>{"logType":"app"}</pattern>
89         </pattern>
90       </providers>
91     </encoder>
92   </appender>
93
94   <if condition='property("logToFileEnabled").contains("true")'>
95     <then>
96         <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
97           <file>${logDirectory}/rest/sane.log</file>
98           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
99             <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
100             <maxHistory>${maxHistory}</maxHistory>
101             <totalSizeCap>${totalSizeCap}</totalSizeCap>
102           </rollingPolicy>
103           <encoder>
104             <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
105           </encoder>
106         </appender>
107         <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
108           <queueSize>${queueSize}</queueSize>
109           <includeCallerData>true</includeCallerData>
110           <appender-ref ref="SANE"/>
111         </appender>
112         <appender name="METRIC" class="ch.qos.logback.core.rolling.RollingFileAppender">
113           <file>${logDirectory}/rest/metrics.log</file>
114           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
115             <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
116             <maxHistory>${maxHistory}</maxHistory>
117             <totalSizeCap>${totalSizeCap}</totalSizeCap>
118           </rollingPolicy>
119           <encoder>
120             <pattern>${metricPattern}</pattern>
121           </encoder>
122         </appender>
123         <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
124           <queueSize>${queueSize}</queueSize>
125           <includeCallerData>true</includeCallerData>
126           <appender-ref ref="METRIC"/>
127         </appender>
128         <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
129           <filter class="ch.qos.logback.classic.filter.LevelFilter">
130             <level>DEBUG</level>
131             <onMatch>ACCEPT</onMatch>
132             <onMismatch>DENY</onMismatch>
133           </filter>
134           <file>${logDirectory}/rest/debug.log</file>
135           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
136             <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
137             <maxHistory>${maxHistory}</maxHistory>
138             <totalSizeCap>${totalSizeCap}</totalSizeCap>
139           </rollingPolicy>
140           <encoder>
141             <pattern>${debugPattern}</pattern>
142           </encoder>
143         </appender>
144         <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
145           <queueSize>${queueSize}</queueSize>
146           <appender-ref ref="DEBUG"/>
147           <includeCallerData>true</includeCallerData>
148         </appender>
149         <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
150           <file>${logDirectory}/rest/error.log</file>
151           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
152             <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}</fileNamePattern>
153             <maxHistory>${maxHistory}</maxHistory>
154             <totalSizeCap>${totalSizeCap}</totalSizeCap>
155           </rollingPolicy>
156           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
157             <level>WARN</level>
158           </filter>
159           <encoder>
160             <pattern>${errorPattern}</pattern>
161           </encoder>
162         </appender>
163         <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
164           <queueSize>${queueSize}</queueSize>
165           <appender-ref ref="ERROR"/>
166         </appender>
167         <appender name="AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
168           <file>${logDirectory}/rest/audit.log</file>
169           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
170             <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
171             <maxHistory>${maxHistory}</maxHistory>
172             <totalSizeCap>${totalSizeCap}</totalSizeCap>
173           </rollingPolicy>
174           <encoder>
175             <pattern>${auditPattern}</pattern>
176           </encoder>
177         </appender>
178         <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
179           <queueSize>${queueSize}</queueSize>
180           <includeCallerData>true</includeCallerData>
181           <appender-ref ref="AUDIT"/>
182         </appender>
183         <appender name="translog" class="ch.qos.logback.core.rolling.RollingFileAppender">
184           <filter class="ch.qos.logback.classic.filter.LevelFilter">
185             <level>DEBUG</level>
186             <onMatch>ACCEPT</onMatch>
187             <onMismatch>DENY</onMismatch>
188           </filter>
189           <file>${logDirectory}/rest/translog.log</file>
190           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
191             <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}</fileNamePattern>
192             <maxHistory>${maxHistory}</maxHistory>
193             <totalSizeCap>${totalSizeCap}</totalSizeCap>
194           </rollingPolicy>
195           <encoder>
196             <pattern>${transLogPattern}</pattern>
197           </encoder>
198         </appender>
199         <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
200           <queueSize>${queueSize}</queueSize>
201           <includeCallerData>true</includeCallerData>
202           <appender-ref ref="translog"/>
203         </appender>
204         <appender name="dmaapAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
205           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
206             <level>WARN</level>
207           </filter>
208           <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
209           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
210             <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}</fileNamePattern>
211             <maxHistory>${maxHistory}</maxHistory>
212             <totalSizeCap>${totalSizeCap}</totalSizeCap>
213           </rollingPolicy>
214           <encoder>
215             <pattern>${"errorPattern"}</pattern>
216           </encoder>
217         </appender>
218         <appender name="dmaapAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
219           <filter class="ch.qos.logback.classic.filter.LevelFilter">
220             <level>INFO</level>
221             <onMatch>ACCEPT</onMatch>
222             <onMismatch>DENY</onMismatch>
223           </filter>
224           <File>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log</File>
225           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
226             <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log.%d{yyyy-MM-dd}
227             </fileNamePattern>
228             <maxHistory>${maxHistory}</maxHistory>
229             <totalSizeCap>${totalSizeCap}</totalSizeCap>
230           </rollingPolicy>
231           <encoder>
232             <pattern>${debugPattern}</pattern>
233           </encoder>
234         </appender>
235         <appender name="dmaapAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
236           <filter class="ch.qos.logback.classic.filter.LevelFilter">
237             <level>DEBUG</level>
238             <onMatch>ACCEPT</onMatch>
239             <onMismatch>DENY</onMismatch>
240           </filter>
241           <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
242           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
243             <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
244             <maxHistory>${maxHistory}</maxHistory>
245             <totalSizeCap>${totalSizeCap}</totalSizeCap>
246           </rollingPolicy>
247           <encoder>
248             <pattern>${debugPattern}</pattern>
249           </encoder>
250         </appender>
251         <appender name="dmaapAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
252           <filter class="ch.qos.logback.classic.filter.LevelFilter">
253             <level>INFO</level>
254             <onMatch>ACCEPT</onMatch>
255             <onMismatch>DENY</onMismatch>
256           </filter>
257           <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
258           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
259             <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
260             <maxHistory>${maxHistory}</maxHistory>
261             <totalSizeCap>${totalSizeCap}</totalSizeCap>
262           </rollingPolicy>
263           <encoder>
264             <pattern>${metricPattern}</pattern>
265           </encoder>
266         </appender>
267         <appender name="external" class="ch.qos.logback.core.rolling.RollingFileAppender">
268           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
269             <level>WARN</level>
270           </filter>
271           <file>${logDirectory}/external/external.log</file>
272           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
273             <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
274             </fileNamePattern>
275             <maxHistory>${maxHistory}</maxHistory>
276             <totalSizeCap>${totalSizeCap}</totalSizeCap>
277           </rollingPolicy>
278           <encoder>
279             <pattern>${debugPattern}</pattern>
280           </encoder>
281         </appender>
282         <!-- DataGrooming logs started -->
283         <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender">
284           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
285             <level>WARN</level>
286           </filter>
287           <File>${logDirectory}/dataGrooming/error.log</File>
288           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
289             <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern>
290             <maxHistory>${maxHistory}</maxHistory>
291             <totalSizeCap>${totalSizeCap}</totalSizeCap>
292           </rollingPolicy>
293           <encoder>
294             <pattern>${errorPattern}</pattern>
295           </encoder>
296         </appender>
297         <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
298           <filter class="ch.qos.logback.classic.filter.LevelFilter">
299             <level>DEBUG</level>
300             <onMatch>ACCEPT</onMatch>
301             <onMismatch>DENY</onMismatch>
302           </filter>
303           <File>${logDirectory}/dataGrooming/debug.log</File>
304           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
305             <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
306             <maxHistory>${maxHistory}</maxHistory>
307             <totalSizeCap>${totalSizeCap}</totalSizeCap>
308           </rollingPolicy>
309           <encoder>
310             <pattern>${debugPattern}</pattern>
311           </encoder>
312         </appender>
313         <appender name="dataGroomingaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
314           <filter class="ch.qos.logback.classic.filter.LevelFilter">
315             <level>INFO</level>
316             <onMatch>ACCEPT</onMatch>
317             <onMismatch>DENY</onMismatch>
318           </filter>
319           <File>${logDirectory}/dataGrooming/audit.log</File>
320           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
321             <fileNamePattern>${logDirectory}/dataGrooming/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
322             <maxHistory>${maxHistory}</maxHistory>
323             <totalSizeCap>${totalSizeCap}</totalSizeCap>
324           </rollingPolicy>
325           <encoder>
326             <pattern>${auditPattern}</pattern>
327           </encoder>
328         </appender>
329         <!-- DataGrooming logs ended -->
330         <!-- DataSnapshot logs started -->
331         <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender">
332           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
333             <level>WARN</level>
334           </filter>
335           <File>${logDirectory}/dataSnapshot/error.log</File>
336           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
337             <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern>
338             <maxHistory>${maxHistory}</maxHistory>
339             <totalSizeCap>${totalSizeCap}</totalSizeCap>
340           </rollingPolicy>
341           <encoder>
342             <pattern>${errorPattern}</pattern>
343           </encoder>
344         </appender>
345         <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
346           <filter class="ch.qos.logback.classic.filter.LevelFilter">
347             <level>DEBUG</level>
348             <onMatch>ACCEPT</onMatch>
349             <onMismatch>DENY</onMismatch>
350           </filter>
351           <File>${logDirectory}/dataSnapshot/debug.log</File>
352           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
353             <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
354             <maxHistory>${maxHistory}</maxHistory>
355             <totalSizeCap>${totalSizeCap}</totalSizeCap>
356           </rollingPolicy>
357           <encoder>
358             <pattern>${debugPattern}</pattern>
359           </encoder>
360         </appender>
361         <appender name="dataSnapshotaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
362           <filter class="ch.qos.logback.classic.filter.LevelFilter">
363             <level>INFO</level>
364             <onMatch>ACCEPT</onMatch>
365             <onMismatch>DENY</onMismatch>
366           </filter>
367           <File>${logDirectory}/dataSnapshot/audit.log</File>
368           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
369             <fileNamePattern>${logDirectory}/dataSnapshot/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
370             <maxHistory>${maxHistory}</maxHistory>
371             <totalSizeCap>${totalSizeCap}</totalSizeCap>
372           </rollingPolicy>
373           <encoder>
374             <pattern>${auditPattern}</pattern>
375           </encoder>
376         </appender>
377         <!-- DataSnapshot logs ended -->
378         <!-- HistoryTruncate logs started -->
379         <appender name="historyTruncate" class="ch.qos.logback.core.rolling.RollingFileAppender">
380           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
381             <level>WARN</level>
382           </filter>
383           <File>${logDirectory}/historyTruncate/error.log</File>
384           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
385             <fileNamePattern>${logDirectory}/historyTruncate/error.log.%d{yyyy-MM-dd}</fileNamePattern>
386             <maxHistory>${maxHistory}</maxHistory>
387             <totalSizeCap>${totalSizeCap}</totalSizeCap>
388           </rollingPolicy>
389           <encoder>
390             <pattern>${errorPattern}</pattern>
391           </encoder>
392         </appender>
393         <appender name="historyTruncatedebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
394           <filter class="ch.qos.logback.classic.filter.LevelFilter">
395             <level>DEBUG</level>
396             <onMatch>ACCEPT</onMatch>
397             <onMismatch>DENY</onMismatch>
398           </filter>
399           <File>${logDirectory}/historyTruncate/debug.log</File>
400           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
401             <fileNamePattern>${logDirectory}/historyTruncate/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
402             <maxHistory>${maxHistory}</maxHistory>
403             <totalSizeCap>${totalSizeCap}</totalSizeCap>
404           </rollingPolicy>
405           <encoder>
406             <pattern>${debugPattern}</pattern>
407           </encoder>
408         </appender>
409         <appender name="historyTruncateaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
410           <filter class="ch.qos.logback.classic.filter.LevelFilter">
411             <level>INFO</level>
412             <onMatch>ACCEPT</onMatch>
413             <onMismatch>DENY</onMismatch>
414           </filter>
415           <File>${logDirectory}/historyTruncate/audit.log</File>
416           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
417             <fileNamePattern>${logDirectory}/historyTruncate/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
418             <maxHistory>${maxHistory}</maxHistory>
419             <totalSizeCap>${totalSizeCap}</totalSizeCap>
420           </rollingPolicy>
421           <encoder>
422             <pattern>${auditPattern}</pattern>
423           </encoder>
424         </appender>
425         <!-- historyTruncate logs ended -->
426         <!-- CreateDBSchema logs started  -->
427         <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender">
428           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
429             <level>WARN</level>
430           </filter>
431           <File>${logDirectory}/createDBSchema/error.log</File>
432           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
433             <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern>
434             <maxHistory>${maxHistory}</maxHistory>
435             <totalSizeCap>${totalSizeCap}</totalSizeCap>
436           </rollingPolicy>
437           <encoder>
438             <pattern>${"errorPattern"}</pattern>
439           </encoder>
440         </appender>
441         <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
442           <filter class="ch.qos.logback.classic.filter.LevelFilter">
443             <level>DEBUG</level>
444             <onMatch>ACCEPT</onMatch>
445             <onMismatch>DENY</onMismatch>
446           </filter>
447           <File>${logDirectory}/createDBSchema/debug.log</File>
448           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
449             <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
450             <maxHistory>${maxHistory}</maxHistory>
451             <totalSizeCap>${totalSizeCap}</totalSizeCap>
452           </rollingPolicy>
453           <encoder>
454             <pattern>${debugPattern}</pattern>
455           </encoder>
456         </appender>
457         <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
458           <filter class="ch.qos.logback.classic.filter.LevelFilter">
459             <level>INFO</level>
460             <onMatch>ACCEPT</onMatch>
461             <onMismatch>DENY</onMismatch>
462           </filter>
463           <File>${logDirectory}/createDBSchema/metrics.log</File>
464           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
465             <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
466             <maxHistory>${maxHistory}</maxHistory>
467             <totalSizeCap>${totalSizeCap}</totalSizeCap>
468           </rollingPolicy>
469           <encoder>
470             <pattern>${metricPattern}</pattern>
471           </encoder>
472         </appender>
473         <!-- CreateDBSchema logs ended  -->
474         <!-- DataCleanupTasks logs started  -->
475         <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender">
476           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
477             <level>WARN</level>
478           </filter>
479           <File>${logDirectory}/misc/error.log</File>
480           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
481             <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern>
482             <maxHistory>${maxHistory}</maxHistory>
483             <totalSizeCap>${totalSizeCap}</totalSizeCap>
484           </rollingPolicy>
485           <encoder>
486             <pattern>${"errorPattern"}</pattern>
487           </encoder>
488         </appender>
489         <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
490           <filter class="ch.qos.logback.classic.filter.LevelFilter">
491             <level>DEBUG</level>
492             <onMatch>ACCEPT</onMatch>
493             <onMismatch>DENY</onMismatch>
494           </filter>
495           <File>${logDirectory}/misc/debug.log</File>
496           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
497             <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
498             <maxHistory>${maxHistory}</maxHistory>
499             <totalSizeCap>${totalSizeCap}</totalSizeCap>
500           </rollingPolicy>
501           <encoder>
502             <pattern>${debugPattern}</pattern>
503           </encoder>
504         </appender>
505         <appender name="dataCleanupaudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
506           <filter class="ch.qos.logback.classic.filter.LevelFilter">
507             <level>INFO</level>
508             <onMatch>ACCEPT</onMatch>
509             <onMismatch>DENY</onMismatch>
510           </filter>
511           <File>${logDirectory}/misc/audit.log</File>
512           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
513             <fileNamePattern>${logDirectory}/misc/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
514             <maxHistory>${maxHistory}</maxHistory>
515             <totalSizeCap>${totalSizeCap}</totalSizeCap>
516           </rollingPolicy>
517           <encoder>
518             <pattern>${auditPattern}</pattern>
519           </encoder>
520         </appender>
521         <!-- DataCleanupTasks logs ended  -->
522         <!-- dupeTool logs started -->
523         <appender name="dupeTooldebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
524           <filter class="ch.qos.logback.classic.filter.LevelFilter">
525             <level>DEBUG</level>
526             <onMatch>ACCEPT</onMatch>
527             <onMismatch>DENY</onMismatch>
528           </filter>
529           <File>${logDirectory}/dupetool/debug.log</File>
530           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
531             <fileNamePattern>${logDirectory}/dupetool/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
532             <maxHistory>${maxHistory}</maxHistory>
533             <totalSizeCap>${totalSizeCap}</totalSizeCap>
534           </rollingPolicy>
535           <encoder>
536             <pattern>${debugPattern}</pattern>
537           </encoder>
538         </appender>
539         <appender name="dupeToolerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
540           <filter class="ch.qos.logback.classic.filter.LevelFilter">
541             <level>WARN</level>
542             <onMatch>ACCEPT</onMatch>
543             <onMismatch>DENY</onMismatch>
544           </filter>
545           <File>${logDirectory}/dupeTool/error.log</File>
546           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
547             <fileNamePattern>${logDirectory}/dupeTool/error.log.%d{yyyy-MM-dd}</fileNamePattern>
548             <maxHistory>${maxHistory}</maxHistory>
549             <totalSizeCap>${totalSizeCap}</totalSizeCap>
550           </rollingPolicy>
551           <encoder>
552             <pattern>${errorPattern}</pattern>
553           </encoder>
554         </appender>
555         <!-- dupeTool logs ended -->
556         <!-- dynamicPayloadGenerator log starts here -->
557         <appender name="dynamicPayloadGeneratorError" class="ch.qos.logback.core.rolling.RollingFileAppender">
558           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
559             <level>WARN</level>
560           </filter>
561           <File>${logDirectory}/dynamicPayloadGenerator/error.log</File>
562           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
563             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/error.log.%d{yyyy-MM-dd}</fileNamePattern>
564             <maxHistory>${maxHistory}</maxHistory>
565             <totalSizeCap>${totalSizeCap}</totalSizeCap>
566           </rollingPolicy>
567           <encoder>
568             <pattern>${errorPattern}</pattern>
569           </encoder>
570         </appender>
571         <appender name="dynamicPayloadGeneratorDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
572           <filter class="ch.qos.logback.classic.filter.LevelFilter">
573             <level>DEBUG</level>
574             <onMatch>ACCEPT</onMatch>
575             <onMismatch>DENY</onMismatch>
576           </filter>
577           <File>${logDirectory}/dynamicPayloadGenerator/debug.log</File>
578           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
579             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
580             <maxHistory>${maxHistory}</maxHistory>
581             <totalSizeCap>${totalSizeCap}</totalSizeCap>
582           </rollingPolicy>
583           <encoder>
584             <pattern>${debugPattern}</pattern>
585           </encoder>
586         </appender>
587         <appender name="dynamicPayloadGeneratorAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
588           <filter class="ch.qos.logback.classic.filter.LevelFilter">
589             <level>INFO</level>
590             <onMatch>ACCEPT</onMatch>
591             <onMismatch>DENY</onMismatch>
592           </filter>
593           <File>${logDirectory}/dataExport/audit.log</File>
594           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
595             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
596             <maxHistory>${maxHistory}</maxHistory>
597             <totalSizeCap>${totalSizeCap}</totalSizeCap>
598           </rollingPolicy>
599           <encoder>
600             <pattern>${auditPattern}</pattern>
601           </encoder>
602         </appender>
603         <!-- dynamicPayloadGenerator log ends here -->
604         <!-- forceDelete logs started -->
605         <appender name="forceDeletedebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
606           <filter class="ch.qos.logback.classic.filter.LevelFilter">
607             <level>DEBUG</level>
608             <onMatch>ACCEPT</onMatch>
609             <onMismatch>DENY</onMismatch>
610           </filter>
611           <File>${logDirectory}/forceDelete/debug.log</File>
612           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
613             <fileNamePattern>${logDirectory}/forceDelete/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
614             <maxHistory>${maxHistory}</maxHistory>
615             <totalSizeCap>${totalSizeCap}</totalSizeCap>
616           </rollingPolicy>
617           <encoder>
618             <pattern>${debugPattern}</pattern>
619           </encoder>
620         </appender>
621         <appender name="forceDeleteerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
622           <filter class="ch.qos.logback.classic.filter.LevelFilter">
623             <level>WARN</level>
624             <onMatch>ACCEPT</onMatch>
625             <onMismatch>DENY</onMismatch>
626           </filter>
627           <File>${logDirectory}/forceDelete/error.log</File>
628           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
629             <fileNamePattern>${logDirectory}/forceDelete/error.log.%d{yyyy-MM-dd}</fileNamePattern>
630             <maxHistory>${maxHistory}</maxHistory>
631             <totalSizeCap>${totalSizeCap}</totalSizeCap>
632           </rollingPolicy>
633           <encoder>
634             <pattern>${errorPattern}</pattern>
635           </encoder>
636         </appender>
637         <!-- forceDelete logs ended -->
638         <!-- migration logs started -->
639         <appender name="migrationdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
640           <filter class="ch.qos.logback.classic.filter.LevelFilter">
641             <level>DEBUG</level>
642             <onMatch>ACCEPT</onMatch>
643             <onMismatch>DENY</onMismatch>
644           </filter>
645           <File>${logDirectory}/migration/debug.log</File>
646           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
647             <fileNamePattern>${logDirectory}/migration/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
648             <maxHistory>${maxHistory}</maxHistory>
649             <totalSizeCap>${totalSizeCap}</totalSizeCap>
650           </rollingPolicy>
651           <encoder>
652             <pattern>${debugPattern}</pattern>
653           </encoder>
654         </appender>
655         <appender name="migrationerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
656           <filter class="ch.qos.logback.classic.filter.LevelFilter">
657             <level>WARN</level>
658             <onMatch>ACCEPT</onMatch>
659             <onMismatch>DENY</onMismatch>
660           </filter>
661           <File>${logDirectory}/migration/error.log</File>
662           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
663             <fileNamePattern>${logDirectory}/migration/error.log.%d{yyyy-MM-dd}</fileNamePattern>
664             <maxHistory>${maxHistory}</maxHistory>
665             <totalSizeCap>${totalSizeCap}</totalSizeCap>
666           </rollingPolicy>
667           <encoder>
668             <pattern>${errorPattern}</pattern>
669           </encoder>
670         </appender>
671         <!-- migration logs ended -->
672         <!-- DataGrooming logs started -->
673         <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender">
674           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
675             <level>WARN</level>
676           </filter>
677           <File>${logDirectory}/dataExport/error.log</File>
678           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
679             <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern>
680             <maxHistory>${maxHistory}</maxHistory>
681             <totalSizeCap>${totalSizeCap}</totalSizeCap>
682           </rollingPolicy>
683           <encoder>
684             <pattern>${errorPattern}</pattern>
685           </encoder>
686         </appender>
687         <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
688           <filter class="ch.qos.logback.classic.filter.LevelFilter">
689             <level>DEBUG</level>
690             <onMatch>ACCEPT</onMatch>
691             <onMismatch>DENY</onMismatch>
692           </filter>
693           <File>${logDirectory}/dataExport/debug.log</File>
694           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
695             <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
696             <maxHistory>${maxHistory}</maxHistory>
697             <totalSizeCap>${totalSizeCap}</totalSizeCap>
698           </rollingPolicy>
699           <encoder>
700             <pattern>${debugPattern}</pattern>
701           </encoder>
702         </appender>
703         <appender name="dataExportAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
704           <filter class="ch.qos.logback.classic.filter.LevelFilter">
705             <level>INFO</level>
706             <onMatch>ACCEPT</onMatch>
707             <onMismatch>DENY</onMismatch>
708           </filter>
709           <File>${logDirectory}/dataExport/audit.log</File>
710           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
711             <fileNamePattern>${logDirectory}/dataExport/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
712             <maxHistory>${maxHistory}</maxHistory>
713             <totalSizeCap>${totalSizeCap}</totalSizeCap>
714           </rollingPolicy>
715           <encoder>
716             <pattern>${auditPattern}</pattern>
717           </encoder>
718         </appender>
719         <!-- schemaMod log starts -->
720         <appender name="schemaModdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
721           <filter class="ch.qos.logback.classic.filter.LevelFilter">
722             <level>DEBUG</level>
723             <onMatch>ACCEPT</onMatch>
724             <onMismatch>DENY</onMismatch>
725           </filter>
726           <File>${logDirectory}/schemaMod/debug.log</File>
727           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
728             <fileNamePattern>${logDirectory}/schemaMod/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
729             <maxHistory>${maxHistory}</maxHistory>
730             <totalSizeCap>${totalSizeCap}</totalSizeCap>
731           </rollingPolicy>
732           <encoder>
733             <pattern>${debugPattern}</pattern>
734           </encoder>
735         </appender>
736         <appender name="schemaModerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
737           <filter class="ch.qos.logback.classic.filter.LevelFilter">
738             <level>WARN</level>
739             <onMatch>ACCEPT</onMatch>
740             <onMismatch>DENY</onMismatch>
741           </filter>
742           <File>${logDirectory}/schemaMod/error.log</File>
743           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
744             <fileNamePattern>${logDirectory}/schemaMod/error.log.%d{yyyy-MM-dd}</fileNamePattern>
745             <maxHistory>${maxHistory}</maxHistory>
746             <totalSizeCap>${totalSizeCap}</totalSizeCap>
747           </rollingPolicy>
748           <encoder>
749             <pattern>${errorPattern}</pattern>
750           </encoder>
751         </appender>
752         <!-- schemaMod log ends -->
753         <!-- uniquePropertyCheck log starts here -->
754         <appender name="uniquePropertyCheckdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
755           <filter class="ch.qos.logback.classic.filter.LevelFilter">
756             <level>DEBUG</level>
757             <onMatch>ACCEPT</onMatch>
758             <onMismatch>DENY</onMismatch>
759           </filter>
760           <File>${logDirectory}/uniquePropertyCheck/debug.log</File>
761           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
762             <fileNamePattern>${logDirectory}/uniquePropertyCheck/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
763             <maxHistory>${maxHistory}</maxHistory>
764             <totalSizeCap>${totalSizeCap}</totalSizeCap>
765           </rollingPolicy>
766           <encoder>
767             <pattern>${debugPattern}</pattern>
768           </encoder>
769         </appender>
770         <appender name="uniquePropertyCheckmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
771           <filter class="ch.qos.logback.classic.filter.LevelFilter">
772             <level>INFO</level>
773             <onMatch>ACCEPT</onMatch>
774             <onMismatch>DENY</onMismatch>
775           </filter>
776           <File>${logDirectory}/uniquePropertyCheck/metrics.log</File>
777           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
778             <fileNamePattern>${logDirectory}/uniquePropertyCheck/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
779             <maxHistory>${maxHistory}</maxHistory>
780             <totalSizeCap>${totalSizeCap}</totalSizeCap>
781           </rollingPolicy>
782           <encoder>
783             <pattern>${metricPattern}</pattern>
784           </encoder>
785         </appender>
786         <appender name="uniquePropertyCheckerror" class="ch.qos.logback.core.rolling.RollingFileAppender">
787           <filter class="ch.qos.logback.classic.filter.LevelFilter">
788             <level>WARN</level>
789             <onMatch>ACCEPT</onMatch>
790             <onMismatch>DENY</onMismatch>
791           </filter>
792           <File>${logDirectory}/uniquePropertyCheck/error.log</File>
793           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
794             <fileNamePattern>${logDirectory}/uniquePropertyCheck/error.log.%d{yyyy-MM-dd}</fileNamePattern>
795             <maxHistory>${maxHistory}</maxHistory>
796             <totalSizeCap>${totalSizeCap}</totalSizeCap>
797           </rollingPolicy>
798           <encoder>
799             <pattern>${errorPattern}</pattern>
800           </encoder>
801         </appender>
802         <!-- uniquePropertyCheck log ends here -->
803         <!-- dynamicPayloadGenerator log starts here -->
804         <appender name="dynamicPayloadGeneratorError" class="ch.qos.logback.core.rolling.RollingFileAppender">
805           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
806             <level>WARN</level>
807           </filter>
808           <File>${logDirectory}/dynamicPayloadGenerator/error.log</File>
809           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
810             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/error.log.%d{yyyy-MM-dd}</fileNamePattern>
811             <maxHistory>${maxHistory}</maxHistory>
812             <totalSizeCap>${totalSizeCap}</totalSizeCap>
813           </rollingPolicy>
814           <encoder>
815             <pattern>${errorPattern}</pattern>
816           </encoder>
817         </appender>
818         <appender name="dynamicPayloadGeneratorDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
819           <filter class="ch.qos.logback.classic.filter.LevelFilter">
820             <level>DEBUG</level>
821             <onMatch>ACCEPT</onMatch>
822             <onMismatch>DENY</onMismatch>
823           </filter>
824           <File>${logDirectory}/dynamicPayloadGenerator/debug.log</File>
825           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
826             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
827             <maxHistory>${maxHistory}</maxHistory>
828             <totalSizeCap>${totalSizeCap}</totalSizeCap>
829           </rollingPolicy>
830           <encoder>
831             <pattern>${debugPattern}</pattern>
832           </encoder>
833         </appender>
834         <appender name="dynamicPayloadGeneratorAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
835           <filter class="ch.qos.logback.classic.filter.LevelFilter">
836             <level>INFO</level>
837             <onMatch>ACCEPT</onMatch>
838             <onMismatch>DENY</onMismatch>
839           </filter>
840           <File>${logDirectory}/dataExport/audit.log</File>
841           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
842             <fileNamePattern>${logDirectory}/dynamicPayloadGenerator/audit.log.%d{yyyy-MM-dd}</fileNamePattern>
843             <maxHistory>${maxHistory}</maxHistory>
844             <totalSizeCap>${totalSizeCap}</totalSizeCap>
845           </rollingPolicy>
846           <encoder>
847             <pattern>${auditPattern}</pattern>
848           </encoder>
849         </appender>
850         <!-- dynamicPayloadGenerator log ends here -->
851     </then>
852   </if>
853
854   <logger name="org.onap.aai" level="DEBUG" additivity="false">
855     <if condition='property("logToFileEnabled").contains("true")'>
856       <then>
857         <appender-ref ref="asyncDEBUG"/>
858         <appender-ref ref="asyncSANE"/>
859       </then>
860     </if>
861     <appender-ref ref="STDOUT"/>
862   </logger>
863   <!-- Spring related loggers -->
864   <logger name="org.springframework" level="WARN"/>
865   <logger name="org.springframework.beans" level="WARN"/>
866   <logger name="org.springframework.web" level="WARN"/>
867   <logger name="com.blog.spring.jms" level="WARN"/>
868   <logger name="com.jayway.jsonpath" level="WARN"/>
869   <!-- AJSC Services (bootstrap services) -->
870   <logger name="ajsc" level="WARN"/>
871   <logger name="ajsc.RouteMgmtService" level="WARN"/>
872   <logger name="ajsc.ComputeService" level="WARN"/>
873   <logger name="ajsc.VandelayService" level="WARN"/>
874   <logger name="ajsc.FilePersistenceService" level="WARN"/>
875   <logger name="ajsc.UserDefinedJarService" level="WARN"/>
876   <logger name="ajsc.UserDefinedBeansDefService" level="WARN"/>
877   <logger name="ajsc.LoggingConfigurationService" level="WARN"/>
878   <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet logging) -->
879   <logger name="org.codehaus.groovy" level="WARN"/>
880   <logger name="com.att.scamper" level="WARN"/>
881   <logger name="ajsc.utils" level="WARN"/>
882   <logger name="ajsc.utils.DME2Helper" level="WARN"/>
883   <logger name="ajsc.filters" level="WARN"/>
884   <logger name="ajsc.beans.interceptors" level="WARN"/>
885   <logger name="ajsc.restlet" level="WARN"/>
886   <logger name="ajsc.servlet" level="WARN"/>
887   <logger name="com.att.ajsc" level="WARN"/>
888   <logger name="com.att.ajsc.csi.logging" level="WARN"/>
889   <logger name="com.att.ajsc.filemonitor" level="WARN"/>
890   <logger name="com.netflix.loadbalancer" level="WARN"/>
891   <logger name="org.apache.zookeeper" level="WARN"/>
892   <!-- Other Loggers that may help troubleshoot -->
893   <logger name="net.sf" level="WARN"/>
894   <logger name="org.apache.commons.httpclient" level="WARN"/>
895   <logger name="org.apache.commons" level="WARN"/>
896   <logger name="org.apache.coyote" level="WARN"/>
897   <logger name="org.apache.jasper" level="WARN"/>
898   <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
899   <logger name="org.apache.camel" level="WARN"/>
900   <logger name="org.apache.cxf" level="WARN"/>
901   <logger name="org.apache.camel.processor.interceptor" level="WARN"/>
902   <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN"/>
903   <logger name="org.apache.cxf.service" level="WARN"/>
904   <logger name="org.restlet" level="WARN"/>
905   <logger name="org.apache.camel.component.restlet" level="WARN"/>
906   <logger name="org.hibernate.validator" level="WARN"/>
907   <logger name="org.hibernate" level="WARN"/>
908   <logger name="org.hibernate.ejb" level="OFF"/>
909   <!-- logback internals logging -->
910   <logger name="ch.qos.logback.classic" level="WARN"/>
911   <logger name="ch.qos.logback.core" level="WARN"/>
912   <logger name="org.eclipse.jetty" level="WARN"/>
913   <!-- logback jms appenders & loggers definition starts here -->
914   <if condition='property("logToFileEnabled").contains("true")'>
915     <then>
916       <appender name="auditLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
917         <filter class="ch.qos.logback.classic.filter.ThresholdFilter"/>
918         <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
919         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
920           <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip</fileNamePattern>
921           <minIndex>1</minIndex>
922           <maxIndex>9</maxIndex>
923         </rollingPolicy>
924         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
925           <maxFileSize>5MB</maxFileSize>
926         </triggeringPolicy>
927         <encoder>
928           <pattern>auditPattern</pattern>
929         </encoder>
930       </appender>
931       <appender name="perfLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
932         <filter class="ch.qos.logback.classic.filter.ThresholdFilter"/>
933         <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
934         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
935           <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip</fileNamePattern>
936           <minIndex>1</minIndex>
937           <maxIndex>9</maxIndex>
938         </rollingPolicy>
939         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
940           <maxFileSize>5MB</maxFileSize>
941         </triggeringPolicy>
942         <encoder>
943           <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
944         </encoder>
945       </appender>
946       <appender name="auth" class="ch.qos.logback.core.rolling.RollingFileAppender">
947         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
948           <level>DEBUG</level>
949         </filter>
950         <file>${logDirectory}/auth/auth.log</file>
951         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
952           <fileNamePattern>${logDirectory}/auth/auth.log.%d{yyyy-MM-dd}</fileNamePattern>
953           <maxHistory>${maxHistory}</maxHistory>
954           <totalSizeCap>${totalSizeCap}</totalSizeCap>
955         </rollingPolicy>
956         <encoder>
957           <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}[%thread] %-5level %logger{1024} - %msg%n</pattern>
958         </encoder>
959       </appender>
960       <appender name="asyncAUTH" class="ch.qos.logback.classic.AsyncAppender">
961         <queueSize>${queueSize}</queueSize>
962         <includeCallerData>true</includeCallerData>
963         <appender-ref ref="auth"/>
964       </appender>
965     </then>
966   </if>
967
968   <logger name="AuditRecord" level="INFO" additivity="false">
969     <if condition='property("logToFileEnabled").contains("true")'>
970       <then>
971         <appender-ref ref="auditLogs"/>
972       </then>
973     </if>
974     <appender-ref ref="STDOUT"/>
975   </logger>
976   <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
977     <if condition='property("logToFileEnabled").contains("true")'>
978       <then>
979         <appender-ref ref="auditLogs"/>
980       </then>
981     </if>
982     <appender-ref ref="STDOUT"/>
983   </logger>
984   <logger name="PerfTrackerRecord" level="INFO" additivity="false">
985     <if condition='property("logToFileEnabled").contains("true")'>
986       <then>
987         <appender-ref ref="perfLogs"/>
988       </then>
989     </if>
990     <appender-ref ref="STDOUT"/>
991   </logger>
992   <!-- logback jms appenders & loggers definition ends here -->
993   <logger name="org.onap.aai.aaf" level="DEBUG" additivity="false">
994     <if condition='property("logToFileEnabled").contains("true")'>
995       <then>
996         <appender-ref ref="asyncAUTH"/>
997       </then>
998     </if>
999     <appender-ref ref="STDOUT"/>
1000   </logger>
1001
1002   <if condition='property("logToFileEnabled").contains("true")'>
1003     <then>
1004       <logger name="org.onap.aai.aailog.filter.RestClientLoggingInterceptor" level="INFO">
1005         <appender-ref ref="asyncMETRIC"/>
1006       </logger>
1007       <logger name="org.onap.logging.filter.base.AbstractMetricLogFilter" level="INFO">
1008         <appender-ref ref="asyncMETRIC"/>
1009       </logger>
1010       <logger name="org.onap.aai.aailog.logs.AaiScheduledTaskAuditLog" level="INFO">
1011         <appender-ref ref="asyncAUDIT"/>
1012       </logger>
1013       <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level="INFO">
1014         <appender-ref ref="asyncMETRIC"/>
1015       </logger>
1016       <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
1017         <appender-ref ref="asyncERROR"/>
1018       </logger>
1019     </then>
1020   </if>
1021
1022   <logger name="org.onap.logging.filter.base.AbstractAuditLogFilter" level="INFO">
1023     <if condition='property("logToFileEnabled").contains("true")'>
1024       <then>
1025         <appender-ref ref="asyncAUDIT"/>
1026       </then>
1027     </if>
1028     <appender-ref ref="STDOUT"/>
1029   </logger>
1030   <logger name="org.onap.aai.interceptors.post" level="DEBUG" additivity="false">
1031     <if condition='property("logToFileEnabled").contains("true")'>
1032       <then>
1033         <appender-ref ref="asynctranslog"/>
1034       </then>
1035     </if>
1036     <appender-ref ref="STDOUT"/>
1037   </logger>
1038   <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
1039     <if condition='property("logToFileEnabled").contains("true")'>
1040       <then>
1041         <appender-ref ref="dmaapAAIEventConsumer"/>
1042         <appender-ref ref="dmaapAAIEventConsumerDebug"/>
1043         <appender-ref ref="dmaapAAIEventConsumerMetric"/>
1044       </then>
1045     </if>
1046     <appender-ref ref="STDOUT"/>
1047   </logger>
1048   <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false">
1049     <if condition='property("logToFileEnabled").contains("true")'>
1050       <then>
1051         <appender-ref ref="dataSnapshot"/>
1052         <appender-ref ref="dataSnapshotdebug"/>
1053         <appender-ref ref="dataSnapshotaudit"/>
1054       </then>
1055     </if>
1056     <appender-ref ref="STDOUT"/>
1057   </logger>
1058   <logger name="org.onap.aai.historytruncate" level="DEBUG" additivity="false">
1059     <if condition='property("logToFileEnabled").contains("true")'>
1060       <then>
1061         <appender-ref ref="historyTruncate"/>
1062         <appender-ref ref="historyTruncatedebug"/>
1063         <appender-ref ref="historyTruncateaudit"/>
1064       </then>
1065     </if>
1066     <appender-ref ref="STDOUT"/>
1067   </logger>
1068   <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false">
1069     <if condition='property("logToFileEnabled").contains("true")'>
1070       <then>
1071         <appender-ref ref="dataGrooming"/>
1072         <appender-ref ref="dataGroomingdebug"/>
1073         <appender-ref ref="dataGroomingaudit"/>
1074       </then>
1075     </if>
1076     <appender-ref ref="STDOUT"/>
1077   </logger>
1078   <logger name="org.onap.aai.schema" level="DEBUG" additivity="false">
1079     <if condition='property("logToFileEnabled").contains("true")'>
1080       <then>
1081         <appender-ref ref="createDBSchema"/>
1082         <appender-ref ref="createDBSchemadebug"/>
1083         <appender-ref ref="createDBSchemametric"/>
1084       </then>
1085     </if>
1086     <appender-ref ref="STDOUT"/>
1087   </logger>
1088   <logger name="org.onap.aai.dbgen.DupeTool" level="DEBUG" additivity="false">
1089     <if condition='property("logToFileEnabled").contains("true")'>
1090       <then>
1091         <appender-ref ref="dupeTooldebug"/>
1092         <appender-ref ref="dupeToolerror"/>
1093       </then>
1094     </if>
1095     <appender-ref ref="STDOUT"/>
1096   </logger>
1097   <logger name="org.onap.aai.dbgen.DynamicPayloadGenerator" level="DEBUG" additivity="false">
1098     <if condition='property("logToFileEnabled").contains("true")'>
1099       <then>
1100         <appender-ref ref="dynamicPayloadGeneratorAudit"/>
1101         <appender-ref ref="dynamicPayloadGeneratorError"/>
1102         <appender-ref ref="dynamicPayloadGeneratorDebug"/>
1103       </then>
1104     </if>
1105     <appender-ref ref="STDOUT"/>
1106   </logger>
1107   <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false">
1108     <if condition='property("logToFileEnabled").contains("true")'>
1109       <then>
1110         <appender-ref ref="createDBSchema"/>
1111         <appender-ref ref="createDBSchemadebug"/>
1112         <appender-ref ref="createDBSchemametric"/>
1113       </then>
1114     </if>
1115     <appender-ref ref="STDOUT"/>
1116   </logger>
1117   <logger name="org.onap.aai.datacleanup" level="DEBUG" additivity="false">
1118     <if condition='property("logToFileEnabled").contains("true")'>
1119       <then>
1120         <appender-ref ref="dataCleanuperror"/>
1121         <appender-ref ref="dataCleanupdebug"/>
1122         <appender-ref ref="dataCleanupaudit"/>
1123       </then>
1124     </if>
1125     <appender-ref ref="STDOUT"/>
1126   </logger>
1127   <logger name="org.onap.aai.migration" level="DEBUG" additivity="false">
1128     <if condition='property("logToFileEnabled").contains("true")'>
1129       <then>
1130         <appender-ref ref="migrationdebug"/>
1131         <appender-ref ref="migrationerror"/>
1132       </then>
1133     </if>
1134     <appender-ref ref="STDOUT"/>
1135   </logger>
1136   <logger name="org.onap.aai.util.SendMigrationNotifications" level="DEBUG" additivity="false">
1137     <if condition='property("logToFileEnabled").contains("true")'>
1138       <then>
1139         <appender-ref ref="migrationdebug"/>
1140         <appender-ref ref="migrationerror"/>
1141       </then>
1142     </if>
1143     <appender-ref ref="STDOUT"/>
1144   </logger>
1145   <logger name="org.onap.aai.util.SendDeleteMigrationNotifications" level="DEBUG" additivity="false">
1146     <if condition='property("logToFileEnabled").contains("true")'>
1147       <then>
1148         <appender-ref ref="migrationdebug"/>
1149         <appender-ref ref="migrationerror"/>
1150       </then>
1151     </if>
1152     <appender-ref ref="STDOUT"/>
1153   </logger>
1154   <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
1155     <if condition='property("logToFileEnabled").contains("true")'>
1156       <then>
1157         <appender-ref ref="dataExportError"/>
1158         <appender-ref ref="dataExportDebug"/>
1159       </then>
1160     </if>
1161     <appender-ref ref="STDOUT"/>
1162   </logger>
1163   <if condition='property("logToFileEnabled").contains("true")'>
1164     <then>
1165       <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
1166         <appender-ref ref="dataExportAudit"/>
1167       </logger>
1168     </then>
1169   </if>
1170   <logger name="org.apache" level="WARN"/>
1171   <logger name="org.zookeeper" level="WARN"/>
1172   <logger name="com.netflix" level="WARN"/>
1173   <logger name="org.janusgraph" level="WARN"/>
1174   <logger name="com.att.aft.dme2" level="WARN"/>
1175   <!-- ============================================================================ -->
1176   <!-- General EELF logger -->
1177   <!-- ============================================================================ -->
1178   <logger name="com.att.eelf" level="WARN" additivity="false">
1179     <if condition='property("logToFileEnabled").contains("true")'>
1180       <then>
1181         <appender-ref ref="asyncDEBUG"/>
1182         <appender-ref ref="asyncERROR"/>
1183         <appender-ref ref="asyncMETRIC"/>
1184       </then>
1185     </if>
1186     <appender-ref ref="STDOUT"/>
1187   </logger>
1188   <root level="DEBUG">
1189     <if condition='property("logToFileEnabled").contains("true")'>
1190       <then>
1191         <appender-ref ref="external"/>
1192       </then>
1193     </if>
1194     <appender-ref ref="STDOUT"/>
1195   </root>
1196 </configuration>