[DMAAP-48] Initial code import
[dmaap/datarouter.git] / datarouter-prov / src / main / resources / logback.xml
1 <!--\r
2   ============LICENSE_START==================================================\r
3   * org.onap.dmaap\r
4   * ===========================================================================\r
5   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6   * ===========================================================================\r
7   * Licensed under the Apache License, Version 2.0 (the "License");\r
8   * you may not use this file except in compliance with the License.\r
9   * You may obtain a copy of the License at\r
10   * \r
11    *      http://www.apache.org/licenses/LICENSE-2.0\r
12   * \r
13    * Unless required by applicable law or agreed to in writing, software\r
14   * distributed under the License is distributed on an "AS IS" BASIS,\r
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16   * See the License for the specific language governing permissions and\r
17   * limitations under the License.\r
18   * ============LICENSE_END====================================================\r
19   *\r
20   * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21   *\r
22 -->\r
23 <configuration scan="true" scanPeriod="3 seconds" debug="true">\r
24   <!--<jmxConfigurator /> -->\r
25   <!-- directory path for all other type logs -->\r
26   <!-- property name="logDir" value="/home/eby/dr2/logs" / -->\r
27   <property name="logDir" value="/opt/app/datartr/logs" />\r
28  \r
29   <!-- directory path for debugging type logs -->\r
30   <!-- property name="debugDir" value="/home/eby/dr2/debug-logs" /-->\r
31   \r
32   <!--  specify the component name \r
33     <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->\r
34   <!-- This creates the MSO directory in in the LogDir which is not needed, mentioned last directory of the path-->\r
35   <!-- property name="componentName" value="logs"></property -->\r
36   \r
37   <!--  log file names -->\r
38   <property name="generalLogName" value="apicalls" />\r
39   <!-- name="securityLogName" value="security" -->\r
40   <!-- name="performanceLogName" value="performance" -->\r
41   <!-- name="serverLogName" value="server" -->\r
42   <!-- name="policyLogName" value="policy"-->\r
43   <property name="errorLogName" value="errors" />\r
44   <!-- name="metricsLogName" value="metrics" -->\r
45   <!-- name="auditLogName" value="audit" -->\r
46   <!-- name="debugLogName" value="debug" -->\r
47   <property name="jettyLogName" value="jetty"></property> \r
48   <property name="defaultPattern"    value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />\r
49   <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />\r
50   \r
51   <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />\r
52      \r
53   <property name="logDirectory" value="${logDir}" />\r
54   <!-- property name="debugLogDirectory" value="${debugDir}/${componentName}" /-->\r
55   \r
56   \r
57   <!-- Example evaluator filter applied against console appender -->\r
58   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
59     <encoder>\r
60       <pattern>${defaultPattern}</pattern>\r
61     </encoder>\r
62   </appender>\r
63 \r
64   <!-- ============================================================================ -->\r
65   <!-- EELF Appenders -->\r
66   <!-- ============================================================================ -->\r
67 \r
68   <!-- The EELFAppender is used to record events to the general application \r
69     log -->\r
70     \r
71     \r
72   <appender name="EELF"\r
73     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
74     <file>${logDirectory}/${generalLogName}.log</file>\r
75      <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
76                 <level>INFO</level>\r
77                 <onMatch>ACCEPT</onMatch>\r
78                 <onMismatch>DENY</onMismatch>\r
79         </filter>\r
80     <rollingPolicy\r
81       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
82       <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip\r
83       </fileNamePattern>\r
84       <minIndex>1</minIndex>\r
85       <maxIndex>9</maxIndex>\r
86     </rollingPolicy>\r
87     <triggeringPolicy\r
88       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
89       <maxFileSize>5MB</maxFileSize>\r
90     </triggeringPolicy>\r
91     <encoder>\r
92       <pattern>${defaultPattern}</pattern>\r
93     </encoder>\r
94   </appender>\r
95   \r
96   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">\r
97     <queueSize>256</queueSize>\r
98     <appender-ref ref="EELF" />\r
99   </appender>\r
100 \r
101   <!-- EELF Security Appender. This appender is used to record security events \r
102     to the security log file. Security events are separate from other loggers \r
103     in EELF so that security log records can be captured and managed in a secure \r
104     way separate from the other logs. This appender is set to never discard any \r
105     events. -->\r
106   <!--appender name="EELFSecurity"\r
107     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
108     <file>${logDirectory}/${securityLogName}.log</file>\r
109     <rollingPolicy\r
110       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
111       <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip\r
112       </fileNamePattern>\r
113       <minIndex>1</minIndex>\r
114       <maxIndex>9</maxIndex>\r
115     </rollingPolicy>\r
116     <triggeringPolicy\r
117       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
118       <maxFileSize>5MB</maxFileSize>\r
119     </triggeringPolicy>\r
120     <encoder>\r
121       <pattern>${defaultPattern}</pattern>\r
122     </encoder>\r
123   </appender>\r
124   \r
125   <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">\r
126     <queueSize>256</queueSize>\r
127     <discardingThreshold>0</discardingThreshold>\r
128     <appender-ref ref="EELFSecurity" />\r
129   </appender-->\r
130 \r
131   <!-- EELF Performance Appender. This appender is used to record performance \r
132     records. -->\r
133   <!--appender name="EELFPerformance"\r
134     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
135     <file>${logDirectory}/${performanceLogName}.log</file>\r
136     <rollingPolicy\r
137       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
138       <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip\r
139       </fileNamePattern>\r
140       <minIndex>1</minIndex>\r
141       <maxIndex>9</maxIndex>\r
142     </rollingPolicy>\r
143     <triggeringPolicy\r
144       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
145       <maxFileSize>5MB</maxFileSize>\r
146     </triggeringPolicy>\r
147     <encoder>\r
148       <outputPatternAsHeader>true</outputPatternAsHeader>\r
149       <pattern>${defaultPattern}</pattern>\r
150     </encoder>\r
151   </appender>\r
152   <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">\r
153     <queueSize>256</queueSize>\r
154     <appender-ref ref="EELFPerformance" />\r
155   </appender-->\r
156 \r
157   <!-- EELF Server Appender. This appender is used to record Server related \r
158     logging events. The Server logger and appender are specializations of the \r
159     EELF application root logger and appender. This can be used to segregate Server \r
160     events from other components, or it can be eliminated to record these events \r
161     as part of the application root log. -->\r
162   <!--appender name="EELFServer"\r
163     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
164     <file>${logDirectory}/${serverLogName}.log</file>\r
165     <rollingPolicy\r
166       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
167       <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip\r
168       </fileNamePattern>\r
169       <minIndex>1</minIndex>\r
170       <maxIndex>9</maxIndex>\r
171     </rollingPolicy>\r
172     <triggeringPolicy\r
173       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
174       <maxFileSize>5MB</maxFileSize>\r
175     </triggeringPolicy>\r
176     <encoder>\r
177         <pattern>${defaultPattern}</pattern>\r
178     </encoder>\r
179   </appender>\r
180   <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">\r
181     <queueSize>256</queueSize>\r
182     <appender-ref ref="EELFServer" />\r
183   </appender-->\r
184 \r
185   \r
186   <!-- EELF Policy Appender. This appender is used to record Policy engine \r
187     related logging events. The Policy logger and appender are specializations \r
188     of the EELF application root logger and appender. This can be used to segregate \r
189     Policy engine events from other components, or it can be eliminated to record \r
190     these events as part of the application root log. -->\r
191   <!--appender name="EELFPolicy"\r
192     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
193     <file>${logDirectory}/${policyLogName}.log</file>\r
194     <rollingPolicy\r
195       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
196       <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip\r
197       </fileNamePattern>\r
198       <minIndex>1</minIndex>\r
199       <maxIndex>9</maxIndex>\r
200     </rollingPolicy>\r
201     <triggeringPolicy\r
202       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
203       <maxFileSize>5MB</maxFileSize>\r
204     </triggeringPolicy>\r
205     <encoder>\r
206         <pattern>${defaultPattern}</pattern>\r
207     </encoder>\r
208   </appender>\r
209   <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">\r
210     <queueSize>256</queueSize>\r
211     <appender-ref ref="EELFPolicy" >\r
212   </appender-->\r
213   \r
214   \r
215   <!-- EELF Audit Appender. This appender is used to record audit engine \r
216     related logging events. The audit logger and appender are specializations \r
217     of the EELF application root logger and appender. This can be used to segregate \r
218     Policy engine events from other components, or it can be eliminated to record \r
219     these events as part of the application root log. -->\r
220     \r
221   <!--appender name="EELFAudit"\r
222     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
223     <file>${logDirectory}/${auditLogName}.log</file>\r
224     <rollingPolicy\r
225       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
226       <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip\r
227       </fileNamePattern>\r
228       <minIndex>1</minIndex>\r
229       <maxIndex>9</maxIndex>\r
230     </rollingPolicy>\r
231     <triggeringPolicy\r
232       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
233       <maxFileSize>5MB</maxFileSize>\r
234     </triggeringPolicy>\r
235     <encoder>\r
236          <pattern>${defaultPattern}</pattern>\r
237     </encoder>\r
238   </appender>\r
239   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">\r
240     <queueSize>256</queueSize>\r
241     <appender-ref ref="EELFAudit" />\r
242   </appender-->\r
243 \r
244 <!--appender name="EELFMetrics"\r
245     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
246     <file>${logDirectory}/${metricsLogName}.log</file>\r
247     <rollingPolicy\r
248       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
249       <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip\r
250       </fileNamePattern>\r
251       <minIndex>1</minIndex>\r
252       <maxIndex>9</maxIndex>\r
253     </rollingPolicy>\r
254     <triggeringPolicy\r
255       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
256       <maxFileSize>5MB</maxFileSize>\r
257     </triggeringPolicy>\r
258     <encoder-->\r
259       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - \r
260         %msg%n"</pattern> -->\r
261       <!--pattern>${defaultPattern}</pattern>\r
262     </encoder>\r
263   </appender>\r
264   \r
265   \r
266   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">\r
267     <queueSize>256</queueSize>\r
268     <appender-ref ref="EELFMetrics"/>\r
269   </appender-->\r
270    \r
271   <appender name="EELFError"\r
272     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
273     <file>${logDirectory}/${errorLogName}.log</file>\r
274     <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
275                 <level>ERROR</level>\r
276                 <onMatch>ACCEPT</onMatch>\r
277                 <onMismatch>DENY</onMismatch>\r
278         </filter>\r
279     <rollingPolicy\r
280       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
281       <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip\r
282       </fileNamePattern>\r
283       <minIndex>1</minIndex>\r
284       <maxIndex>9</maxIndex>\r
285     </rollingPolicy>\r
286     <triggeringPolicy\r
287       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
288       <maxFileSize>5MB</maxFileSize>\r
289     </triggeringPolicy>\r
290     <encoder>\r
291       <pattern>${defaultPattern}</pattern>\r
292     </encoder>\r
293   </appender>\r
294   \r
295   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">\r
296     <queueSize>256</queueSize>\r
297     <appender-ref ref="EELFError"/>\r
298   </appender>\r
299   \r
300   <!-- ============================================================================ -->\r
301    <appender name="jettylog"\r
302     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
303     <file>${logDirectory}/${jettyLogName}.log</file>\r
304          <filter class="com.att.research.datarouter.provisioning.eelf.JettyFilter" />\r
305     <rollingPolicy\r
306       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
307       <fileNamePattern>${logDirectory}/${jettyLogName}.%i.log.zip\r
308       </fileNamePattern>\r
309       <minIndex>1</minIndex>\r
310       <maxIndex>9</maxIndex>\r
311     </rollingPolicy>\r
312     <triggeringPolicy\r
313       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
314       <maxFileSize>5MB</maxFileSize>\r
315     </triggeringPolicy>\r
316     <encoder>\r
317       <pattern>${jettyLoggerPattern}</pattern>\r
318     </encoder>\r
319   </appender>\r
320   \r
321   <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">\r
322     <queueSize>256</queueSize>\r
323     <appender-ref ref="jettylog" />\r
324     <includeCallerData>true</includeCallerData>\r
325   </appender>\r
326   \r
327    <!-- ============================================================================ -->\r
328 \r
329 \r
330    <!--appender name="EELFDebug"\r
331     class="ch.qos.logback.core.rolling.RollingFileAppender">\r
332     <file>${debugLogDirectory}/${debugLogName}.log</file>\r
333     <rollingPolicy\r
334       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
335       <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip\r
336       </fileNamePattern>\r
337       <minIndex>1</minIndex>\r
338       <maxIndex>9</maxIndex>\r
339     </rollingPolicy>\r
340     <triggeringPolicy\r
341       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
342       <maxFileSize>5MB</maxFileSize>\r
343     </triggeringPolicy>\r
344     <encoder>\r
345       <pattern>${debugLoggerPattern}</pattern>\r
346     </encoder>\r
347   </appender>\r
348   \r
349   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">\r
350     <queueSize>256</queueSize>\r
351     <appender-ref ref="EELFDebug" />\r
352     <includeCallerData>true</includeCallerData>\r
353   </appender-->\r
354  \r
355   \r
356   <!-- ============================================================================ -->\r
357   <!--  EELF loggers -->\r
358   <!-- ============================================================================ -->\r
359   <logger name="com.att.eelf" level="info" additivity="false">\r
360     <appender-ref ref="asyncEELF" />\r
361   </logger>\r
362   \r
363      <logger name="com.att.eelf.error" level="error" additivity="false">\r
364                  <appender-ref ref="asyncEELFError" />\r
365          </logger>\r
366   \r
367      <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">\r
368                 <appender-ref ref="asyncEELFjettylog"/>\r
369         </logger> \r
370         \r
371   <!-- logger name="com.att.eelf.security" level="info" additivity="false">\r
372     <appender-ref ref="asyncEELFSecurity" /> \r
373   </logger>\r
374   <logger name="com.att.eelf.perf" level="info" additivity="false">\r
375     <appender-ref ref="asyncEELFPerformance" />\r
376   </logger>\r
377   <logger name="com.att.eelf.server" level="info" additivity="false">\r
378     <appender-ref ref="asyncEELFServer" />\r
379   </logger>\r
380   <logger name="com.att.eelf.policy" level="info" additivity="false">\r
381     <appender-ref ref="asyncEELFPolicy" />\r
382   </logger>\r
383 \r
384   <logger name="com.att.eelf.audit" level="info" additivity="false">\r
385     <appender-ref ref="asyncEELFAudit" />\r
386   </logger>\r
387   \r
388   <logger name="com.att.eelf.metrics" level="info" additivity="false">\r
389         <appender-ref ref="asyncEELFMetrics" />\r
390   </logger>\r
391    \r
392    <logger name="com.att.eelf.debug" level="debug" additivity="false">\r
393         <appender-ref ref="asyncEELFDebug" />\r
394   </logger-->\r
395 \r
396   \r
397 \r
398   \r
399   <root level="INFO">\r
400     <appender-ref ref="asyncEELF" />\r
401     <appender-ref ref="asyncEELFError" />\r
402      <appender-ref ref="asyncEELFjettylog" />\r
403   </root>\r
404 \r
405 </configuration>\r