Initial OpenECOMP policy/engine commit
[policy/engine.git] / PolicyEngineAPI / src / main / resources / logback.xml
1 <!--
2   ============LICENSE_START=======================================================
3   PolicyEngineAPI
4   ================================================================================
5   Copyright (C) 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
21 <configuration scan="true" scanPeriod="3 seconds" debug="true">
22   <!--<jmxConfigurator /> -->
23   <!-- directory path for all other type logs -->
24   <property name="logDir" value="logs" />
25   
26   <!-- directory path for debugging type logs -->
27   <property name="debugDir" value="logs" />
28   
29   <!--  specify the component name 
30     <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
31   <property name="componentName" value="Policy"></property>
32   <property name="subComponentName" value="PolicyEngineAPI"></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{TargetVirtualEntity}|%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    <!--   E R R O R
59           <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" />
60    -->
61    <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" />
62   
63   
64   
65    <!--   D E B U G
66           <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" />
67           <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" /> -->
68    -->
69    <property name="debugLoggerPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%msg%n" />  
70    
71  
72    
73    <!--   D E F A U L T 
74           <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" />
75           <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" />
76    -->
77    <property name="defaultPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{server}|%X{clientIpAddress}|%c||%msg%n" />
78    
79  
80  
81    <!--   P A T H
82           <property name="logDirectory" value="${catalina.base}/${logDir}/${componentName}/${subComponentName}" />
83           <property name="debugLogDirectory" value="${catalina.base}/${debugDir}/${componentName}/${subComponentName}" />   
84    -->   
85    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
86    <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
87    
88
89  
90  
91   <!-- Example evaluator filter applied against console appender -->
92   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
93     <encoder>
94       <pattern>${defaultPattern}</pattern>
95     </encoder>
96   </appender>
97
98   <!-- ============================================================================ -->
99   <!-- EELF Appenders -->
100   <!-- ============================================================================ -->
101
102   <!-- The EELFAppender is used to record events to the general application 
103     log -->
104         
105   <!-- EELF Audit Appender. This appender is used to record audit engine 
106     related logging events. The audit logger and appender are specializations 
107     of the EELF application root logger and appender. This can be used to segregate 
108     Policy engine events from other components, or it can be eliminated to record 
109     these events as part of the application root log. -->
110     
111   <appender name="EELFAudit"
112     class="ch.qos.logback.core.rolling.RollingFileAppender">
113     <file>${logDirectory}/${auditLogName}.log</file>
114     <rollingPolicy
115       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
116       <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
117       </fileNamePattern>
118       <minIndex>1</minIndex>
119       <maxIndex>9</maxIndex>
120     </rollingPolicy>
121     <triggeringPolicy
122       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
123       <maxFileSize>5MB</maxFileSize>
124     </triggeringPolicy>
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.FixedWindowRollingPolicy">
143       <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
144       </fileNamePattern>
145       <minIndex>1</minIndex>
146       <maxIndex>9</maxIndex>
147     </rollingPolicy>
148     <triggeringPolicy
149       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
150       <maxFileSize>5MB</maxFileSize>
151     </triggeringPolicy>
152     <encoder>
153       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
154         %msg%n"</pattern> -->
155       <pattern>${defaultMetricPattern}</pattern>
156     </encoder>
157   </appender>
158   
159   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
160     <queueSize>256</queueSize>
161     <appender-ref ref="EELFMetrics"/>
162   </appender>
163
164
165
166    
167   <appender name="EELFError"
168     class="ch.qos.logback.core.rolling.RollingFileAppender">
169     <file>${logDirectory}/${errorLogName}.log</file>
170     <rollingPolicy
171       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
172       <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
173       </fileNamePattern>
174       <minIndex>1</minIndex>
175       <maxIndex>9</maxIndex>
176     </rollingPolicy>
177     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
178      <level>ERROR</level>
179      </filter>
180     <triggeringPolicy
181       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
182       <maxFileSize>5MB</maxFileSize>
183     </triggeringPolicy>
184     <encoder>
185       <pattern>${defaultErrorPattern}</pattern>
186     </encoder>
187   </appender>
188   
189   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
190     <queueSize>256</queueSize>
191     <appender-ref ref="EELFError"/>
192   </appender>
193
194
195   
196   <appender name="EELFDebug"
197     class="ch.qos.logback.core.rolling.RollingFileAppender">
198     <file>${debugLogDirectory}/${debugLogName}.log</file>
199     <rollingPolicy
200       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
201       <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip
202       </fileNamePattern>
203       <minIndex>1</minIndex>
204       <maxIndex>9</maxIndex>
205     </rollingPolicy>
206     <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
207      <level>INFO</level>
208      </filter>
209     <triggeringPolicy
210       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
211       <maxFileSize>5MB</maxFileSize>
212     </triggeringPolicy>
213     <encoder>
214       <pattern>${debugLoggerPattern}</pattern>
215     </encoder>
216   </appender>
217   
218   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
219     <queueSize>256</queueSize>
220     <appender-ref ref="EELFDebug" />
221     <includeCallerData>true</includeCallerData>
222   </appender>
223  
224   
225   <!-- ============================================================================ -->
226   <!--  EELF loggers -->
227   <!-- ============================================================================ -->
228  
229   <logger name="com.att.eelf.audit" level="info" additivity="false">
230     <appender-ref ref="asyncEELFAudit" />
231   </logger>
232   
233   <logger name="com.att.eelf.metrics" level="info" additivity="false">
234         <appender-ref ref="asyncEELFMetrics" />
235   </logger>
236  
237     <logger name="com.att.eelf.error" level="error" additivity="false">
238   <appender-ref ref="asyncEELFError" />
239   </logger>
240   
241    <logger name="com.att.eelf.debug" level="info" additivity="false">
242         <appender-ref ref="asyncEELFDebug" />
243   </logger>
244   
245   
246   
247   <root level="INFO">
248         <appender-ref ref="asyncEELFDebug" />
249         <appender-ref ref="asyncEELFError" />
250   </root>
251
252 </configuration>