Functionality and Pattern changes for Node logging
[dmaap/datarouter.git] / datarouter-node / src / main / resources / logback.xml
1 <!--
2   ============LICENSE_START==================================================
3   * org.onap.dmaap
4   * ===========================================================================
5   * Copyright © 2017 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   * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21   *
22 -->
23 <configuration scan="true" scanPeriod="3 seconds" debug="false">
24
25   <property name="logDir" value="/var/log/onap/datarouter" />
26   <!--  log file names -->
27   <property name="auditLog" value="audit" />
28   <property name="errorLog" value="error" />
29   <property name="debugLog" value="debug" />
30   <property name="metricsLog" value="metrics" />
31   <property name="jettyLog" value="jetty" />
32
33   <!--  log file names -->
34   <property name="defaultPattern"    value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}%n|%msg%n" />
35   <property name="logDirectory" value="${logDir}" />
36
37
38   <!-- Example evaluator filter applied against console appender -->
39   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
40     <encoder>
41       <pattern>${defaultPattern}</pattern>
42     </encoder>
43   </appender>
44
45   <!-- ============================================================================ -->
46   <!-- EELF Appenders -->
47   <!-- ============================================================================ -->
48
49   <!-- The EELFAppender is used to record events to the general application
50     log -->
51
52
53   <appender name="Audit"
54     class="ch.qos.logback.core.rolling.RollingFileAppender">
55     <file>${logDirectory}/${auditLog}.log</file>
56      <filter class="org.onap.dmaap.datarouter.node.eelf.AuditFilter">
57     </filter>
58     <rollingPolicy
59       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
60       <fileNamePattern>${logDirectory}/${auditLog}.%i.log.zip
61       </fileNamePattern>
62       <minIndex>1</minIndex>
63       <maxIndex>9</maxIndex>
64     </rollingPolicy>
65     <triggeringPolicy
66       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
67       <maxFileSize>50MB</maxFileSize>
68     </triggeringPolicy>
69     <encoder>
70       <pattern>${defaultPattern}</pattern>
71     </encoder>
72   </appender>
73
74   <appender name="asyncAudit" class="ch.qos.logback.classic.AsyncAppender">
75     <queueSize>256</queueSize>
76     <appender-ref ref="Audit" />
77   </appender>
78
79     <!-- ============================================================================ -->
80
81   <appender name="Metrics"
82             class="ch.qos.logback.core.rolling.RollingFileAppender">
83     <file>${logDirectory}/${metricsLog}.log</file>
84     <filter class="org.onap.dmaap.datarouter.node.eelf.MetricsFilter">
85     </filter>
86     <rollingPolicy
87             class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
88       <fileNamePattern>${logDirectory}/${metricsLog}.%i.log.zip
89       </fileNamePattern>
90       <minIndex>1</minIndex>
91       <maxIndex>9</maxIndex>
92     </rollingPolicy>
93     <triggeringPolicy
94             class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
95       <maxFileSize>50MB</maxFileSize>
96     </triggeringPolicy>
97     <encoder>
98       <pattern>${defaultPattern}</pattern>
99     </encoder>
100   </appender>
101
102   <appender name="asyncMetrics" class="ch.qos.logback.classic.AsyncAppender">
103     <queueSize>256</queueSize>
104     <appender-ref ref="Metrics" />
105   </appender>
106
107   <!-- ============================================================================ -->
108
109
110   <appender name="Debug"
111             class="ch.qos.logback.core.rolling.RollingFileAppender">
112     <file>${logDirectory}/${debugLog}.log</file>
113     <filter class="ch.qos.logback.classic.filter.LevelFilter">
114       <level>DEBUG</level>
115       <onMatch>ACCEPT</onMatch>
116       <onMismatch>DENY</onMismatch>
117     </filter>
118     <rollingPolicy
119             class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
120       <fileNamePattern>${logDirectory}/${debugLog}.%i.log.zip
121       </fileNamePattern>
122       <minIndex>1</minIndex>
123       <maxIndex>9</maxIndex>
124     </rollingPolicy>
125     <triggeringPolicy
126             class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
127       <maxFileSize>50MB</maxFileSize>
128     </triggeringPolicy>
129     <encoder>
130       <pattern>${defaultPattern}</pattern>
131     </encoder>
132   </appender>
133
134   <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender">
135     <queueSize>256</queueSize>
136     <appender-ref ref="Debug" />
137   </appender>
138
139   <!-- ============================================================================ -->
140
141   <appender name="Error"
142     class="ch.qos.logback.core.rolling.RollingFileAppender">
143     <file>${logDirectory}/${errorLog}.log</file>
144     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
145         <level>WARN</level>
146         <onMatch>ACCEPT</onMatch>
147         <onMismatch>DENY</onMismatch>
148     </filter>
149     <rollingPolicy
150       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
151       <fileNamePattern>${logDirectory}/${errorLog}.%i.log.zip
152       </fileNamePattern>
153       <minIndex>1</minIndex>
154       <maxIndex>9</maxIndex>
155     </rollingPolicy>
156     <triggeringPolicy
157       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
158       <maxFileSize>50MB</maxFileSize>
159     </triggeringPolicy>
160     <encoder>
161       <pattern>${defaultPattern}</pattern>
162     </encoder>
163   </appender>
164
165   <appender name="asyncError" class="ch.qos.logback.classic.AsyncAppender">
166     <queueSize>256</queueSize>
167     <appender-ref ref="Error"/>
168   </appender>
169
170   <!-- ============================================================================ -->
171    <appender name="Jetty"
172     class="ch.qos.logback.core.rolling.RollingFileAppender">
173     <file>${logDirectory}/${jettyLog}.log</file>
174      <filter class="org.onap.dmaap.datarouter.node.eelf.JettyFilter" />
175     <rollingPolicy
176       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
177       <fileNamePattern>${logDirectory}/${jettyLog}.%i.log.zip
178       </fileNamePattern>
179       <minIndex>1</minIndex>
180       <maxIndex>9</maxIndex>
181     </rollingPolicy>
182     <triggeringPolicy
183       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
184       <maxFileSize>50MB</maxFileSize>
185     </triggeringPolicy>
186     <encoder>
187       <pattern>${defaultPattern}</pattern>
188     </encoder>
189   </appender>
190
191   <appender name="asyncJettyLog" class="ch.qos.logback.classic.AsyncAppender">
192     <queueSize>256</queueSize>
193     <appender-ref ref="Jetty" />
194     <includeCallerData>true</includeCallerData>
195   </appender>
196
197    <!-- ============================================================================ -->
198
199
200   <!-- ============================================================================ -->
201   <!--  EELF loggers -->
202   <!-- ============================================================================ -->
203   <logger name="com.att.eelf" level="info" additivity="false">
204     <appender-ref ref="asyncAudit" />
205   </logger>
206
207   <logger name="com.att.eelf" level="info" additivity="false">
208     <appender-ref ref="asyncMetrics" />
209   </logger>
210
211   <logger name="com.att.eelf" level="debug" additivity="false">
212     <appender-ref ref="asyncDebug" />
213   </logger>
214
215      <logger name="com.att.eelf.error" level="error" additivity="false">
216           <appender-ref ref="asyncError" />
217       </logger>
218
219      <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
220         <appender-ref ref="asyncJettyLog"/>
221     </logger>
222
223
224
225
226   <root level="INFO">
227     <appender-ref ref="asyncAudit" />
228     <appender-ref ref="asyncMetrics" />
229     <appender-ref ref="asyncDebug" />
230     <appender-ref ref="asyncError" />
231     <appender-ref ref="asyncJettyLog" />
232   </root>
233
234 </configuration>