[AAI] Add logs to STDOUT
[aai/oom.git] / components / aai-resources / resources / config / logback.xml
1 <!--
2
3     ============LICENSE_START=======================================================
4     org.onap.aai
5     ================================================================================
6     Copyright © 2017 AT&T Intellectual Property. All rights reserved.
7     Modifications Copyright © 2018 Amdocs, Bell Canada
8         Modifications Copyright © 2020 Samsung Electronics
9     ================================================================================
10     Licensed under the Apache License, Version 2.0 (the "License");
11     you may not use this file except in compliance with the License.
12     You may obtain a copy of the License at
13
14        http://www.apache.org/licenses/LICENSE-2.0
15
16     Unless required by applicable law or agreed to in writing, software
17     distributed under the License is distributed on an "AS IS" BASIS,
18     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19     See the License for the specific language governing permissions and
20     limitations under the License.
21     ============LICENSE_END=========================================================
22
23     ECOMP is a trademark and service mark of AT&T Intellectual Property.
24
25 -->
26 <configuration scan="true" scanPeriod="60 seconds" debug="false">
27         <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
28
29         <property resource="application.properties" />
30
31         <property name="namespace" value="aai-resources"/>
32
33         <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
34         <jmxConfigurator />
35         <property name="logDirectory" value="${AJSC_HOME}/logs" />
36         <!-- Old patterns
37         <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%ecompServiceName|%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"/>
38         <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%ecompServiceName|%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"/>
39         <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%ecompServiceName|%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"/>
40         <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%ecompServiceName|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
41     <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%ecompServiceName|%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"/>
42     -->
43         <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
44         <property name="p_lvl" value="%level"/>
45         <property name="p_log" value="%logger"/>
46         <property name="p_mdc" value="%replace(%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}){'\\|', '!'}"/>
47         <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
48         <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
49         <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
50         <property name="p_thr" value="%thread"/>
51         <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"/>
52         <!-- Patterns from onap demo -->
53         <property name="errorPattern" value="%X{LogTimestamp}|%X{RequestID}|%thread|%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%X{TargetServiceName}){'\\|', '!'}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" />
54         <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n" />
55         <property name="auditPattern" value="%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%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" />
56         <property name="metricPattern" value="%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%thread||%replace(%X{ServiceName}){'\\|', '!'}|%X{PartnerName}|%X{TargetEntity}|%replace(%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" />
57         <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"/>
58         <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
59     <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
60     <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
61         <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
62                 <encoder>
63                         <pattern>{{ .Values.log.consolePattern.config }}</pattern>
64                 </encoder>
65         </appender>
66
67         <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
68                 <file>${logDirectory}/rest/sane.log</file>
69                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
70                         <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
71                 </rollingPolicy>
72                 <encoder>
73                         <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
74                         </pattern>
75                 </encoder>
76         </appender>
77
78         <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
79                 <queueSize>1000</queueSize>
80                 <includeCallerData>true</includeCallerData>
81                 <appender-ref ref="SANE" />
82         </appender>
83         <appender name="METRIC" class="ch.qos.logback.core.rolling.RollingFileAppender">
84                 <file>${logDirectory}/rest/metrics.log</file>
85                 <rollingPolicy
86                                 class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
87                         <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
88                 </rollingPolicy>
89                 <encoder>
90                         <pattern>${metricPattern}</pattern>
91                 </encoder>
92         </appender>
93
94         <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
95                 <queueSize>1000</queueSize>
96                 <includeCallerData>true</includeCallerData>
97                 <appender-ref ref="METRIC"/>
98         </appender>
99
100         <appender name="DEBUG"
101                           class="ch.qos.logback.core.rolling.RollingFileAppender">
102                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
103                         <level>DEBUG</level>
104                         <onMatch>ACCEPT</onMatch>
105                         <onMismatch>DENY</onMismatch>
106                 </filter>
107                 <file>${logDirectory}/rest/debug.log</file>
108                 <rollingPolicy
109                                 class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
110                         <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
111                 </rollingPolicy>
112                 <encoder>
113                         <pattern>${debugPattern}</pattern>
114                 </encoder>
115         </appender>
116
117         <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
118                 <queueSize>1000</queueSize>
119                 <appender-ref ref="DEBUG" />
120                 <includeCallerData>true</includeCallerData>
121         </appender>
122         <appender name="ERROR"
123                           class="ch.qos.logback.core.rolling.RollingFileAppender">
124                 <file>${logDirectory}/rest/error.log</file>
125                 <rollingPolicy
126                                 class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
127                         <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}</fileNamePattern>
128                 </rollingPolicy>
129                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
130                         <level>WARN</level>
131                 </filter>
132                 <encoder>
133                         <pattern>${errorPattern}</pattern>
134                 </encoder>
135         </appender>
136
137         <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
138                 <queueSize>1000</queueSize>
139                 <appender-ref ref="ERROR"/>
140         </appender>
141
142         <appender name="AUDIT"
143                 class="ch.qos.logback.core.rolling.RollingFileAppender">
144                 <file>${logDirectory}/rest/audit.log</file>
145                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
146                         <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
147                         </fileNamePattern>
148                 </rollingPolicy>
149                 <encoder>
150                         <pattern>${auditPattern}</pattern>
151                 </encoder>
152         </appender>
153
154         <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
155                 <queueSize>1000</queueSize>
156                 <includeCallerData>true</includeCallerData>
157                 <appender-ref ref="AUDIT" />
158         </appender>
159
160         <appender name="translog"
161                 class="ch.qos.logback.core.rolling.RollingFileAppender">
162                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
163                         <level>DEBUG</level>
164                         <onMatch>ACCEPT</onMatch>
165                         <onMismatch>DENY</onMismatch>
166                 </filter>
167                 <file>${logDirectory}/rest/translog.log</file>
168                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
169                         <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
170                         </fileNamePattern>
171                 </rollingPolicy>
172                 <encoder>
173                         <pattern>${transLogPattern}</pattern>
174                 </encoder>
175         </appender>
176
177         <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
178                 <queueSize>1000</queueSize>
179                 <includeCallerData>true</includeCallerData>
180                 <appender-ref ref="translog" />
181         </appender>
182
183         <appender name="dmaapAAIEventConsumer"
184                 class="ch.qos.logback.core.rolling.RollingFileAppender">
185                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
186                         <level>WARN</level>
187                 </filter>
188                 <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
189                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
190                         <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
191                         </fileNamePattern>
192                 </rollingPolicy>
193                 <encoder>
194                         <pattern>${errorPattern}</pattern>
195                 </encoder>
196
197         </appender>
198
199         <appender name="dmaapAAIEventConsumerDebug"
200                 class="ch.qos.logback.core.rolling.RollingFileAppender">
201                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
202                         <level>DEBUG</level>
203                         <onMatch>ACCEPT</onMatch>
204                         <onMismatch>DENY</onMismatch>
205                 </filter>
206                 <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
207                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
208                         <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
209                         </fileNamePattern>
210                 </rollingPolicy>
211                 <encoder>
212                         <pattern>${debugPattern}</pattern>
213                 </encoder>
214         </appender>
215         <appender name="dmaapAAIEventConsumerInfo"
216                           class="ch.qos.logback.core.rolling.RollingFileAppender">
217                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
218                         <level>INFO</level>
219                         <onMatch>ACCEPT</onMatch>
220                         <onMismatch>DENY</onMismatch>
221                 </filter>
222                 <File>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log</File>
223                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
224                         <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log.%d{yyyy-MM-dd}
225                         </fileNamePattern>
226                 </rollingPolicy>
227                 <encoder>
228                         <pattern>${auditPattern}</pattern>
229                 </encoder>
230         </appender>
231         <appender name="dmaapAAIEventConsumerMetric"
232                 class="ch.qos.logback.core.rolling.RollingFileAppender">
233                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
234                         <level>INFO</level>
235                         <onMatch>ACCEPT</onMatch>
236                         <onMismatch>DENY</onMismatch>
237                 </filter>
238                 <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
239                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
240                         <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
241                         </fileNamePattern>
242                 </rollingPolicy>
243                 <encoder>
244                         <pattern>${metricPattern}</pattern>
245                 </encoder>
246         </appender>
247         <appender name="external"
248                 class="ch.qos.logback.core.rolling.RollingFileAppender">
249                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
250                         <level>WARN</level>
251                 </filter>
252                 <file>${logDirectory}/external/external.log</file>
253                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
254                         <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
255                         </fileNamePattern>
256                 </rollingPolicy>
257                 <encoder>
258                         <pattern>${debugPattern}</pattern>
259                 </encoder>
260         </appender>
261         <appender name="auth"
262                           class="ch.qos.logback.core.rolling.RollingFileAppender">
263                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
264                         <level>DEBUG</level>
265                 </filter>
266                 <file>${logDirectory}/auth/auth.log</file>
267                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
268                         <fileNamePattern>${logDirectory}/auth/auth.log.%d{yyyy-MM-dd}
269                         </fileNamePattern>
270                 </rollingPolicy>
271                 <encoder>
272                         <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}[%thread] %-5level %logger{1024} - %msg%n</pattern>
273                 </encoder>
274         </appender>
275         <appender name="asyncAUTH" class="ch.qos.logback.classic.AsyncAppender">
276                 <queueSize>1000</queueSize>
277                 <includeCallerData>true</includeCallerData>
278                 <appender-ref ref="auth" />
279         </appender>
280         <!-- logback internals logging -->
281
282         <logger name="ch.qos.logback.classic" level="{{.Values.logback.loggger.qosLogbackClassic}}" />
283         <logger name="ch.qos.logback.core" level="{{.Values.logback.loggger.qosLogbackCore}}" />
284
285         <logger name="com.att.aft.dme2" level="{{.Values.logback.loggger.attAftDme2}}" />
286         <logger name="com.jayway.jsonpath" level="{{.Values.logback.loggger.jaywayJsonpath}}" />
287
288         <logger name="org.apache" level="{{.Values.logback.loggger.apache}}" />
289         <logger name="org.apache.commons" level="{{.Values.logback.loggger.apacheCommons}}" />
290         <logger name="org.apache.zookeeper" level="{{.Values.logback.loggger.apacheZookeeper}}" />
291         <logger name="org.codehaus.groovy" level="{{.Values.logback.loggger.codehausGroovy}}" />
292         <logger name="org.eclipse.jetty" level="{{.Values.logback.loggger.eclipseJetty}}" />
293         <!-- Spring related loggers -->
294         <logger name="org.springframework" level="{{.Values.logback.loggger.springframework}}" />
295         <logger name="org.springframework.beans" level="{{.Values.logback.loggger.springframeworkBeans}}" />
296         <logger name="org.springframework.web" level="{{.Values.logback.loggger.springframeworkWeb}}" />
297         <logger name="org.janusgraph" level="{{.Values.logback.loggger.janusgraph}}" />
298         <logger name="org.zookeeper" level="{{.Values.logback.loggger.zookeeper}}" />
299
300
301         <logger name="org.onap.aai" level="DEBUG" additivity="false">
302                 <appender-ref ref="asyncDEBUG" />
303                 <appender-ref ref="asyncSANE" />
304                 <appender-ref ref="STDOUT" />
305         </logger>
306         <logger name="org.onap.aai.aaf.auth" level="DEBUG" additivity="false">
307                 <appender-ref ref="asyncAUTH" />
308         </logger>
309         <logger name="org.onap.aai.aailog.logs.AaiScheduledTaskAuditLog" level="INFO">
310                 <appender-ref ref="asyncAUDIT"/>
311         </logger>
312         <logger name="org.onap.logging.filter.base.AbstractAuditLogFilter" level="INFO">
313                 <appender-ref ref="asyncAUDIT"/>
314         </logger>
315         <logger name="org.onap.aai.aailog.logs.AaiDBMetricLog" level="INFO">
316                 <appender-ref ref="asyncMETRIC"/>
317         </logger>
318         <logger name="org.onap.aai.aailog.logs.AaiDmaapMetricLog" level="INFO">
319                 <appender-ref ref="dmaapAAIEventConsumerMetric"/>
320         </logger>
321         <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
322                 <appender-ref ref="asyncERROR"/>
323         </logger>
324         <logger name="org.onap.aai.interceptors.post" level="DEBUG" additivity="false">
325                 <appender-ref ref="asynctranslog" />
326         </logger>
327
328         <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
329                 <appender-ref ref="dmaapAAIEventConsumer" />
330                 <appender-ref ref="dmaapAAIEventConsumerDebug" />
331         </logger>
332
333         <logger name="com.att.nsa.mr" level="INFO" >
334                 <appender-ref ref="dmaapAAIEventConsumerInfo" />
335         </logger>
336
337         <root level="{{.Values.logback.rootLogLevel.config}}">
338                 <appender-ref ref="external" />
339                 <appender-ref ref="STDOUT" />
340         </root>
341 </configuration>