8d3164f0c3c0e01f332e51becf2f3cff511f30c1
[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} - %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>
58                     %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n    
59         </pattern>
60     </layout>
61   </appender>
62
63   <!-- ============================================================================ -->
64   <!-- EELF Appenders -->
65   <!-- ============================================================================ -->
66 <!--   <appender name="EELF"
67     class="ch.qos.logback.core.rolling.RollingFileAppender">
68     <file>${logDirectory}/${generalLogName}.log</file>
69     <rollingPolicy
70       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
71       <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
72       </fileNamePattern>
73       <minIndex>1</minIndex>
74       <maxIndex>9</maxIndex>
75     </rollingPolicy>
76     <triggeringPolicy
77       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
78       <maxFileSize>100MB</maxFileSize>
79     </triggeringPolicy>
80     <encoder>
81       <pattern>${applicationLoggerPattern}</pattern>
82     </encoder>
83   </appender> -->
84   
85   <!-- <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
86         <file>${logDirectory}/${generalLogName}.log</file>
87        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">        
88              daily rollover
89              <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
90              <maxFileSize>1GB</maxFileSize>    
91              <maxHistory>5</maxHistory>
92              <totalSizeCap>5GB</totalSizeCap>
93        </rollingPolicy>
94        <encoder>
95              <pattern>${applicationLoggerPattern}</pattern>
96        </encoder>
97      </appender> -->
98      
99      
100      <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
101         <file>${logDirectory}/${generalLogName}.log</file>
102            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">        
103              <!-- daily rollover -->
104              <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
105              <maxFileSize>1GB</maxFileSize>    
106              <maxHistory>5</maxHistory>
107              <totalSizeCap>5GB</totalSizeCap>
108            </rollingPolicy>
109            <encoder>
110              <pattern>${applicationLoggerPattern}</pattern>
111            </encoder>
112      </appender>
113   
114   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
115     <queueSize>256</queueSize>
116     <includeCallerData>true</includeCallerData>
117     <appender-ref ref="EELF" />
118   </appender>
119
120   <!-- EELF Security Appender. This appender is used to record security events 
121     to the security log file. Security events are separate from other loggers 
122     in EELF so that security log records can be captured and managed in a secure 
123     way separate from the other logs. This appender is set to never discard any 
124     events. -->
125   <appender name="EELFSecurity"
126     class="ch.qos.logback.core.rolling.RollingFileAppender">
127     <file>${logDirectory}/${securityLogName}.log</file>
128     <rollingPolicy
129       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
130       <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
131       </fileNamePattern>
132       <minIndex>1</minIndex>
133       <maxIndex>9</maxIndex>
134     </rollingPolicy>
135     <triggeringPolicy
136       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
137       <maxFileSize>5MB</maxFileSize>
138     </triggeringPolicy>
139     <encoder>
140       <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n    </pattern>
141     </encoder>
142   </appender>
143   
144   <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
145     <queueSize>256</queueSize>
146     <discardingThreshold>0</discardingThreshold>
147     <appender-ref ref="EELFSecurity" />
148   </appender>
149
150
151   
152   
153   <!-- EELF Audit Appender. This appender is used to record audit engine 
154     related logging events. The audit logger and appender are specializations 
155     of the EELF application root logger and appender. This can be used to segregate 
156     Policy engine events from other components, or it can be eliminated to record 
157     these events as part of the application root log. -->
158     
159   <appender name="EELFAudit"
160     class="ch.qos.logback.core.rolling.RollingFileAppender">
161     <file>${logDirectory}/${auditLogName}.log</file>
162     <rollingPolicy
163       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
164       <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
165       </fileNamePattern>
166       <minIndex>1</minIndex>
167       <maxIndex>9</maxIndex>
168     </rollingPolicy>
169     <triggeringPolicy
170       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
171       <maxFileSize>5MB</maxFileSize>
172     </triggeringPolicy>
173     <encoder>
174          <pattern>${auditLoggerPattern}</pattern>
175     </encoder>
176   </appender>
177   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
178     <queueSize>256</queueSize>
179     <appender-ref ref="EELFAudit" />
180   </appender>
181
182 <appender name="EELFMetrics"
183     class="ch.qos.logback.core.rolling.RollingFileAppender">
184     <file>${logDirectory}/${metricsLogName}.log</file>
185     <rollingPolicy
186       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
187       <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
188       </fileNamePattern>
189       <minIndex>1</minIndex>
190       <maxIndex>9</maxIndex>
191     </rollingPolicy>
192     <triggeringPolicy
193       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
194       <maxFileSize>5MB</maxFileSize>
195     </triggeringPolicy>
196     <encoder>
197       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
198         %msg%n"</pattern> -->
199       <pattern>${metricsLoggerPattern}</pattern>
200     </encoder>
201   </appender>
202   
203   
204   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
205     <queueSize>256</queueSize>
206     <appender-ref ref="EELFMetrics"/>
207   </appender>
208    
209   <appender name="EELFError"
210     class="ch.qos.logback.core.rolling.RollingFileAppender">
211     <file>${logDirectory}/${errorLogName}.log</file>
212     <rollingPolicy
213       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
214       <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
215       </fileNamePattern>
216       <minIndex>1</minIndex>
217       <maxIndex>9</maxIndex>
218     </rollingPolicy>
219     <triggeringPolicy
220       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
221       <maxFileSize>5MB</maxFileSize>
222     </triggeringPolicy>
223     <encoder>
224       <pattern>${errorLoggerPattern}</pattern>
225     </encoder>
226   </appender>
227   
228   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
229     <queueSize>256</queueSize>
230     <appender-ref ref="EELFError"/>
231   </appender>
232   
233    <appender name="EELFDebug"
234     class="ch.qos.logback.core.rolling.RollingFileAppender">
235     <file>${debugLogDirectory}/${debugLogName}.log</file>
236     <rollingPolicy
237       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
238       <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip
239       </fileNamePattern>
240       <minIndex>1</minIndex>
241       <maxIndex>9</maxIndex>
242     </rollingPolicy>
243     <triggeringPolicy
244       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
245       <maxFileSize>5MB</maxFileSize>
246     </triggeringPolicy>
247     <encoder>
248       <pattern>${debugLoggerPattern}</pattern>
249     </encoder>
250   </appender>
251   
252   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
253     <queueSize>256</queueSize>
254     <appender-ref ref="EELFDebug" />
255     <includeCallerData>true</includeCallerData>
256   </appender>
257  
258   
259   <!-- ============================================================================ -->
260   <!--  EELF loggers -->
261   <!-- ============================================================================ -->
262   <logger name="com.att.eelf" level="info" additivity="false">
263     <appender-ref ref="asyncEELF" />
264     
265   </logger>
266   <logger name="com.att.eelf.security" level="info" additivity="false">
267     <appender-ref ref="asyncEELFSecurity" />
268    
269   </logger>
270
271
272   <logger name="com.att.eelf.audit" level="info" additivity="false">
273     <appender-ref ref="asyncEELFAudit" />
274     
275   </logger>
276   
277   <logger name="com.att.eelf.metrics" level="info" additivity="false">
278         <appender-ref ref="asyncEELFMetrics" />
279         
280   </logger>
281  
282  
283    <logger name="com.att.eelf.error" level="error" additivity="false">
284   <appender-ref ref="asyncEELFError" />
285   
286   </logger>
287   
288    <logger name="com.att.eelf.debug" level="debug" additivity="false">
289         <appender-ref ref="asyncEELFDebug" />
290        
291   </logger>
292   
293   <root level="INFO">
294     <appender-ref ref="asyncEELF" />
295     <appender-ref ref="STDOUT" />
296   </root>
297
298   <!-- Conductor Specific additions to squash WARNING and INFO -->
299   <logger name="com.datastax.driver.core.Cluster" level="ERROR"/> 
300   <logger name="org.onap.music.main.MusicCore" level="ERROR"/> 
301
302 </configuration>