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