88e062cd8f3161f4a3f0abf0300355b397690ba0
[policy/engine.git] / PolicyEngineAPI / src / main / resources / logback.xml
1 <!--
2   ============LICENSE_START=======================================================
3   PolicyEngineAPI
4   ================================================================================
5   Copyright (C) 2017-2018 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
21 <configuration scan="true" scanPeriod="3 seconds" debug="true">
22   <!--<jmxConfigurator /> -->
23   <!-- directory path for all other type logs -->
24   <property name="logDir" value="${POLICY_LOGS}" />
25   
26   <!-- directory path for debugging type logs -->
27   <property name="debugDir" value="${POLICY_LOGS}" />
28   
29   <!--  specify the component name 
30     <ONAP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
31   <property name="componentName" value="policy"></property>
32   <property name="subComponentName" value="policyapi"></property>
33   
34   <!--  log file names -->
35   <property name="errorLogName" value="error" />
36   <property name="metricsLogName" value="metrics" />
37   <property name="auditLogName" value="audit" />
38   <property name="debugLogName" value="debug" />
39   
40   
41       <!-- modified time stamp format -->
42  
43    <!--    A U D I T 
44            <property name="defaultAuditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%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{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
45            <property name="defaultAuditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{ElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
46    -->
47    <property name="defaultAuditPattern" value="%X{TransactionBeginTimestamp}|%X{TransactionEndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{TransactionElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
48   
49   
50   
51    <!--    M E T R I C 
52           <property name="defaultMetricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%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{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
53    -->
54    <property name="defaultMetricPattern" value="%X{MetricBeginTimestamp}|%X{MetricEndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%p|%X{severity}|%X{serverIpAddress}|%X{MetricElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
55   
56   
57      
58    
59    <!--   E R R O R
60           <property name="defaultErrorPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" />
61    -->
62    <property name="defaultErrorPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{requestId}|%t|%X{serviceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" />
63   
64   
65   
66    <!--   D E B U G
67           <property name="debugLoggerPatternOld" 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" />
68           <property name="debugLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> -->
69    -->
70    <property name="debugLoggerPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%msg%n" />  
71    
72  
73    
74    <!--   D E F A U L T 
75           <property name="defaultPatternOld" 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{ClassName}|%X{Timer}|%msg%n" />
76           <property name="defaultPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%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{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" />
77    -->
78    <property name="defaultPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX, UTC}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{server}|%X{clientIpAddress}|%c||%msg%n" />
79    
80  
81  
82    <!--   P A T H
83           <property name="logDirectory" value="${catalina.base}/${logDir}/${componentName}/${subComponentName}" />
84           <property name="debugLogDirectory" value="${catalina.base}/${debugDir}/${componentName}/${subComponentName}" />   
85    -->   
86    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
87    <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
88    
89
90  
91  
92   <!-- Example evaluator filter applied against console appender -->
93   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
94     <encoder>
95       <pattern>${defaultPattern}</pattern>
96     </encoder>
97   </appender>
98
99   <!-- ============================================================================ -->
100   <!-- EELF Appenders -->
101   <!-- ============================================================================ -->
102
103   <!-- The EELFAppender is used to record events to the general application 
104     log -->
105         
106   <!-- EELF Audit Appender. This appender is used to record audit engine 
107     related logging events. The audit logger and appender are specializations 
108     of the EELF application root logger and appender. This can be used to segregate 
109     Policy engine events from other components, or it can be eliminated to record 
110     these events as part of the application root log. -->
111     
112   <appender name="EELFAudit"
113     class="ch.qos.logback.core.rolling.RollingFileAppender">
114     <file>${logDirectory}/${auditLogName}.log</file>
115     <rollingPolicy
116       class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
117       <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
118       
119       <!-- keep 30 days' worth of history capped at 3GB total size --> 
120       <maxFileSize>50MB</maxFileSize>
121       <maxHistory>30</maxHistory>
122       <totalSizeCap>10GB</totalSizeCap>
123     </rollingPolicy>
124     
125     <encoder>
126          <pattern>${defaultAuditPattern}</pattern>
127     </encoder>
128   </appender>
129
130   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
131     <queueSize>256</queueSize>
132     <appender-ref ref="EELFAudit" />
133   </appender>
134
135
136
137
138 <appender name="EELFMetrics"
139     class="ch.qos.logback.core.rolling.RollingFileAppender">
140     <file>${logDirectory}/${metricsLogName}.log</file>
141     <rollingPolicy
142       class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
143       <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
144       
145       <!-- keep 30 days' worth of history capped at 3GB total size --> 
146       <maxFileSize>50MB</maxFileSize>
147       <maxHistory>30</maxHistory>
148       <totalSizeCap>10GB</totalSizeCap>
149     </rollingPolicy>
150     
151     <encoder>
152       <pattern>${defaultMetricPattern}</pattern>
153     </encoder>
154   </appender>
155   
156   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
157     <queueSize>256</queueSize>
158     <appender-ref ref="EELFMetrics"/>
159   </appender>
160
161
162
163    
164   <appender name="EELFError"
165     class="ch.qos.logback.core.rolling.RollingFileAppender">
166     <file>${logDirectory}/${errorLogName}.log</file>
167     <rollingPolicy
168       class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
169       <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
170       
171       <!-- keep 30 days' worth of history capped at 3GB total size --> 
172       <maxFileSize>50MB</maxFileSize>
173       <maxHistory>30</maxHistory>
174       <totalSizeCap>10GB</totalSizeCap>
175     </rollingPolicy>
176     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
177      <level>ERROR</level>
178     </filter>
179     
180     <encoder>
181       <pattern>${defaultErrorPattern}</pattern>
182     </encoder>
183   </appender>
184   
185   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
186     <queueSize>256</queueSize>
187     <appender-ref ref="EELFError"/>
188   </appender>
189
190
191   
192   <appender name="EELFDebug"
193     class="ch.qos.logback.core.rolling.RollingFileAppender">
194     <file>${debugLogDirectory}/${debugLogName}.log</file>
195     <rollingPolicy
196       class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
197       <fileNamePattern>${debugLogDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
198       
199       <!-- keep 30 days' worth of history capped at 3GB total size --> 
200       <maxFileSize>50MB</maxFileSize>
201       <maxHistory>30</maxHistory>
202       <totalSizeCap>10GB</totalSizeCap>
203     </rollingPolicy>
204     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
205      <level>DEBUG</level>
206     </filter>
207     
208     <encoder>
209       <pattern>${debugLoggerPattern}</pattern>
210     </encoder>
211   </appender>
212   
213   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
214     <queueSize>256</queueSize>
215     <appender-ref ref="EELFDebug" />
216     <includeCallerData>true</includeCallerData>
217   </appender>
218  
219   
220   <!-- ============================================================================ -->
221   <!--  EELF loggers -->
222   <!-- ============================================================================ -->
223  
224   <logger name="com.att.eelf.audit" level="info" additivity="false">
225     <appender-ref ref="asyncEELFAudit" />
226   </logger>
227   
228   <logger name="com.att.eelf.metrics" level="info" additivity="false">
229         <appender-ref ref="asyncEELFMetrics" />
230   </logger>
231  
232     <logger name="com.att.eelf.error" level="error" additivity="false">
233   <appender-ref ref="asyncEELFError" />
234   </logger>
235   
236    <logger name="com.att.eelf.debug" level="info" additivity="false">
237         <appender-ref ref="asyncEELFDebug" />
238   </logger>
239   
240   
241   
242   <root level="INFO">
243         <appender-ref ref="asyncEELFDebug" />
244         <appender-ref ref="asyncEELFError" />
245   </root>
246
247 </configuration>