CADI and a few small updates.
[music.git] / src / main / resources / logback.xml
1 <!-- 
2     ============LICENSE_START==========================================
3     org.onap.music
4     ===================================================================
5     Copyright (c) 2017 AT&T Intellectual Property
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
19     ============LICENSE_END=============================================
20     ====================================================================
21 -->
22 <configuration scan="true" scanPeriod="3 seconds">
23     <!--<jmxConfigurator /> -->
24     <!-- directory path for all other type logs -->
25     <property name="logDir" value="/opt/app/music/logs" />
26
27     <!-- directory path for debugging type logs -->
28     <property name="debugDir" value="debug-logs" />
29
30     <!--  specify the component name -->
31     <!--  <property name="componentName" value="EELF"></property> -->
32     <property name="componentName" value="MUSIC"></property>
33
34     <!--  log file names -->
35     <property name="generalLogName" value="music" />
36     <property name="securityLogName" value="security" />
37     <property name="errorLogName" value="error" />
38     <property name="metricsLogName" value="metrics" />
39     <property name="auditLogName" value="audit" />
40     <property name="debugLogName" value="debug" />
41     <property name="defaultPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" />
42     <!-- <property name="applicationLoggerPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %msg%n" /> -->
43     <property name="applicationLoggerPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5level %X{keyspace} [transactionId:%X{transactionId}] - %msg%n" />
44     <property name="auditLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
45     <property name="metricsLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />
46     <!-- <property name="errorLoggerPattern" value= "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %msg%n  " /> -->
47     <property name="errorLoggerPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5level %X{keyspace} - %msg%n" />
48     <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestId}| %msg%n" ></property>
49     <property name="logDirectory" value="${logDir}/${componentName}" />
50     <property name="debugLogDirectory" value="${debugDir}/${componentName}" />
51     <!-- Example evaluator filter applied against console appender -->
52     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
53     <!-- <encoder>
54         <pattern>${defaultPattern}</pattern>
55     </encoder> -->
56     <layout class="">
57             <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
58         </layout>
59     </appender>
60
61     <!-- ============================================================================ -->
62     <!-- EELF Appenders -->
63     <!-- ============================================================================ -->
64     <!--   <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
65     <file>${logDirectory}/${generalLogName}.log</file>
66     <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
67             <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip</fileNamePattern>
68             <minIndex>1</minIndex>
69             <maxIndex>9</maxIndex>
70         </rollingPolicy>
71         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
72             <maxFileSize>100MB</maxFileSize>
73         </triggeringPolicy>
74         <encoder>
75             <pattern>${applicationLoggerPattern}</pattern>
76         </encoder>
77     </appender> -->
78
79     <!-- <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
80         <file>${logDirectory}/${generalLogName}.log</file>
81         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">        
82             daily rollover
83             <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
84             <maxFileSize>1GB</maxFileSize>    
85             <maxHistory>5</maxHistory>
86             <totalSizeCap>5GB</totalSizeCap>
87         </rollingPolicy>
88         <encoder>
89             <pattern>${applicationLoggerPattern}</pattern>
90         </encoder>
91     </appender> -->
92     
93     
94     <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
95         <file>${logDirectory}/${generalLogName}.log</file>
96         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">        
97             <!-- daily rollover -->
98             <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
99             <maxFileSize>1GB</maxFileSize>    
100             <maxHistory>5</maxHistory>
101             <totalSizeCap>5GB</totalSizeCap>
102         </rollingPolicy>
103         <encoder>
104             <pattern>${applicationLoggerPattern}</pattern>
105         </encoder>
106     </appender>
107
108     <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
109         <queueSize>256</queueSize>
110         <includeCallerData>true</includeCallerData>
111         <appender-ref ref="EELF" />
112     </appender>
113
114     <!-- EELF Security Appender. This appender is used to record security events 
115     to the security log file. Security events are separate from other loggers 
116     in EELF so that security log records can be captured and managed in a secure 
117     way separate from the other logs. This appender is set to never discard any 
118     events. -->
119     <appender name="EELFSecurity" class="ch.qos.logback.core.rolling.RollingFileAppender">
120         <file>${logDirectory}/${securityLogName}.log</file>
121         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
122             <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip</fileNamePattern>
123             <minIndex>1</minIndex>
124             <maxIndex>9</maxIndex>
125         </rollingPolicy>
126         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
127             <maxFileSize>5MB</maxFileSize>
128         </triggeringPolicy>
129         <encoder>
130             <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n    </pattern>
131         </encoder>
132     </appender>
133
134     <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
135         <queueSize>256</queueSize>
136         <discardingThreshold>0</discardingThreshold>
137         <appender-ref ref="EELFSecurity" />
138     </appender>
139
140
141
142
143     <!-- EELF Audit Appender. This appender is used to record audit engine 
144     related logging events. The audit logger and appender are specializations 
145     of the EELF application root logger and appender. This can be used to segregate 
146     Policy engine events from other components, or it can be eliminated to record 
147     these events as part of the application root log. -->
148
149     <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
150         <file>${logDirectory}/${auditLogName}.log</file>
151         <rollingPolicy
152             class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
153             <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip</fileNamePattern>
154             <minIndex>1</minIndex>
155             <maxIndex>9</maxIndex>
156         </rollingPolicy>
157         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
158             <maxFileSize>5MB</maxFileSize>
159         </triggeringPolicy>
160         <encoder>
161             <pattern>${auditLoggerPattern}</pattern>
162         </encoder>
163     </appender>
164     <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
165         <queueSize>256</queueSize>
166         <appender-ref ref="EELFAudit" />
167     </appender>
168
169     <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
170         <file>${logDirectory}/${metricsLogName}.log</file>
171         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
172             <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
173             </fileNamePattern>
174             <minIndex>1</minIndex>
175             <maxIndex>9</maxIndex>
176         </rollingPolicy>
177         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
178             <maxFileSize>5MB</maxFileSize>
179         </triggeringPolicy>
180         <encoder>
181             <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
182             <pattern>${metricsLoggerPattern}</pattern>
183         </encoder>
184     </appender>
185
186
187     <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
188         <queueSize>256</queueSize>
189         <appender-ref ref="EELFMetrics"/>
190     </appender>
191
192     <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
193         <file>${logDirectory}/${errorLogName}.log</file>
194         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
195             <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip</fileNamePattern>
196             <minIndex>1</minIndex>
197             <maxIndex>9</maxIndex>
198         </rollingPolicy>
199         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
200             <maxFileSize>5MB</maxFileSize>
201         </triggeringPolicy>
202         <encoder>
203             <pattern>${errorLoggerPattern}</pattern>
204         </encoder>
205     </appender>
206
207     <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
208         <queueSize>256</queueSize>
209         <appender-ref ref="EELFError"/>
210     </appender>
211
212     <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
213         <file>${debugLogDirectory}/${debugLogName}.log</file>
214         <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
215             <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip</fileNamePattern>
216             <minIndex>1</minIndex>
217             <maxIndex>9</maxIndex>
218         </rollingPolicy>
219         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
220             <maxFileSize>5MB</maxFileSize>
221         </triggeringPolicy>
222         <encoder>
223             <pattern>${debugLoggerPattern}</pattern>
224         </encoder>
225     </appender>
226
227     <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
228         <queueSize>256</queueSize>
229         <appender-ref ref="EELFDebug" />
230         <includeCallerData>true</includeCallerData>
231     </appender>
232
233
234     <!-- ============================================================================ -->
235     <!--  EELF loggers -->
236     <!-- ============================================================================ -->
237     <logger name="com.att.eelf" level="info" additivity="false">
238         <appender-ref ref="asyncEELF" />
239     </logger>
240
241     <logger name="com.att.eelf.security" level="info" additivity="false">
242         <appender-ref ref="asyncEELFSecurity" />
243     </logger>
244
245
246     <logger name="com.att.eelf.audit" level="info" additivity="false">
247         <appender-ref ref="asyncEELFAudit" />
248     </logger>
249
250     <logger name="com.att.eelf.metrics" level="info" additivity="false">
251         <appender-ref ref="asyncEELFMetrics" />
252     </logger>
253
254
255     <logger name="com.att.eelf.error" level="error" additivity="false">
256         <appender-ref ref="asyncEELFError" />
257     </logger>
258
259     <logger name="com.att.eelf.debug" level="debug" additivity="false">
260         <appender-ref ref="asyncEELFDebug" />
261         
262     </logger>
263
264     <root level="INFO">
265         <appender-ref ref="asyncEELF" />
266         <appender-ref ref="STDOUT" />
267     </root>
268
269     <!-- Conductor Specific additions to squash WARNING and INFO -->
270     <logger name="com.datastax.driver.core.Cluster" level="ERROR"/> 
271     <logger name="org.onap.music.main.MusicCore" level="ERROR"/> 
272
273 </configuration>