Increase code coverage on aai-common: aai-els-onap-logging library
[aai/aai-common.git] / aai-els-onap-logging / src / test / resources / logback.xml
1 <!--
2  ============LICENSE_START=======================================================
3  org.onap.aai
4  ================================================================================
5  Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  ================================================================================
7  Licensed under the Apache License, Version 2.0 (the "License");
8  you may not use this file except in compliance with the License.
9  You may obtain a copy of the License at
10
11     http://www.apache.org/licenses/LICENSE-2.0
12
13  Unless required by applicable law or agreed to in writing, software
14  distributed under the License is distributed on an "AS IS" BASIS,
15  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  See the License for the specific language governing permissions and
17  limitations under the License.
18  ============LICENSE_END=========================================================
19 -->
20 <configuration scan="true" scanPeriod="60 seconds" debug="false">
21         <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
22
23         <property resource="application.properties" />
24
25         <property name="namespace" value="aai-resources"/>
26
27         <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
28         <jmxConfigurator />
29         <property name="logDirectory" value="${AJSC_HOME}/logs" />
30         
31         <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
32         <property name="p_lvl" value="%level"/>
33         <property name="p_log" value="%logger"/>
34         <property name="p_mdc" value="%replace(%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}){'\\|', '!'}"/>
35         <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
36         <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
37         <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
38         <property name="p_thr" value="%thread"/>
39         <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"/>
40         <!-- Patterns from onap demo -->
41         <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" />
42         <property name="debugPattern" value="%X{LogTimestamp}|%X{RequestID}|%msg\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t|^%n" />
43         <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" />
44         <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" />
45         <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"/>
46         <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
47     <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
48     <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
49         <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
50                 <encoder>
51                         <pattern>
52                                 %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
53                         </pattern>
54                 </encoder>
55         </appender>
56     
57
58         <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
59                 <queueSize>1000</queueSize>
60                 <includeCallerData>true</includeCallerData>
61                 <appender-ref ref="METRIC"/>
62         </appender>
63
64         <appender name="DEBUG"
65                           class="ch.qos.logback.core.rolling.RollingFileAppender">
66                 <filter class="ch.qos.logback.classic.filter.LevelFilter">
67                         <level>DEBUG</level>
68                         <onMatch>ACCEPT</onMatch>
69                         <onMismatch>DENY</onMismatch>
70                 </filter>
71                 <file>${logDirectory}/debug.log</file>
72                 <rollingPolicy
73                                 class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
74                         <fileNamePattern>${logDirectory}/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
75                 </rollingPolicy>
76                 <encoder>
77                         <pattern>${debugPattern}</pattern>
78                 </encoder>
79         </appender>
80
81         <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
82                 <queueSize>1000</queueSize>
83                 <appender-ref ref="DEBUG" />
84                 <includeCallerData>true</includeCallerData>
85         </appender>
86         <appender name="ERROR"
87                           class="ch.qos.logback.core.rolling.RollingFileAppender">
88                 <file>${logDirectory}/error.log</file>
89         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
90             <fileNamePattern>${logDirectory}/error.log.%d{yyyy-MM-dd-HH-mm}
91             </fileNamePattern>
92             <maxHistory>1</maxHistory>
93             <cleanHistoryOnStart>true</cleanHistoryOnStart>
94         </rollingPolicy>
95
96         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
97                         <level>WARN</level>
98                 </filter>
99                 <encoder>
100                         <pattern>${errorPattern}</pattern>
101                 </encoder>
102         </appender>
103
104         <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
105                 <queueSize>1000</queueSize>
106                 <appender-ref ref="ERROR"/>
107         </appender>
108
109         <appender name="AUDIT"
110                 class="ch.qos.logback.core.rolling.RollingFileAppender">
111                 <file>${logDirectory}/audit.log</file>
112                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
113                         <fileNamePattern>${logDirectory}/audit.log.%d{yyyy-MM-dd}
114                         </fileNamePattern>
115                 </rollingPolicy>
116                 <encoder>
117                         <pattern>${auditPattern}</pattern>
118                 </encoder>
119         </appender>
120
121         <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
122                 <queueSize>1000</queueSize>
123                 <includeCallerData>true</includeCallerData>
124                 <appender-ref ref="AUDIT" />
125         </appender>
126     
127         <appender name="auth"
128                           class="ch.qos.logback.core.rolling.RollingFileAppender">
129                 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
130                         <level>DEBUG</level>
131                 </filter>
132                 <file>${logDirectory}/auth/auth.log</file>
133                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
134                         <fileNamePattern>${logDirectory}/auth/auth.log.%d{yyyy-MM-dd}
135                         </fileNamePattern>
136                 </rollingPolicy>
137                 <encoder>
138                         <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}[%thread] %-5level %logger{1024} - %msg%n</pattern>
139                 </encoder>
140         </appender>
141         <appender name="asyncAUTH" class="ch.qos.logback.classic.AsyncAppender">
142                 <queueSize>1000</queueSize>
143                 <includeCallerData>true</includeCallerData>
144                 <appender-ref ref="auth" />
145         </appender>
146         <!-- logback internals logging -->
147
148         <logger name="ch.qos.logback.classic" level="WARN" />
149         <logger name="ch.qos.logback.core" level="WARN" />
150     
151         <logger name="com.jayway.jsonpath" level="WARN" />
152
153         <logger name="org.apache" level="OFF" />
154     
155         <logger name="org.onap.aai" level="DEBUG" additivity="false">
156                 <appender-ref ref="STDOUT" />
157         </logger>
158         <logger name="org.onap.aai.aaf.auth" level="DEBUG" additivity="false">
159                 <appender-ref ref="asyncAUTH" />
160         </logger>
161         <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
162                 <appender-ref ref="asyncERROR"/>
163         </logger>
164
165         <root level="DEBUG">
166                 <appender-ref ref="STDOUT" />
167         </root>
168 </configuration>