234695ee4c1298d160ddc0a2941868dc97801759
[policy/api.git] / packages / policy-api-tarball / src / main / resources / etc / logback.xml
1 <!--
2   ============LICENSE_START=======================================================
3   policy-api
4   ================================================================================
5   Copyright (C) 2017-2019 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="30 seconds" debug="false">
22
23     <property name="logDir" value="${POLICY_LOGS}" />
24
25     <property name="errorLog" value="error" />
26     <property name="debugLog" value="debug" />
27     <property name="networkLog" value="network" />
28
29     <property name="metricLog" value="metric" />
30     <property name="transactionLog" value="audit" />
31
32     <property name="debugPattern"
33         value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%level|%logger{0}|%thread] %msg%n" />
34     <property name="errorPattern" value="${debugPattern}" />
35     <property name="networkPattern"
36         value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n" />
37
38     <property name="metricPattern"
39         value="%X{RequestID}|%X{InvocationID}|%X{ServiceName}|%X{PartnerName}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{ElapsedTime}|%X{ServiceInstanceID}|%X{VirtualServerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{Severity}|%X{TargetEntity}|%X{TargetServiceName}|%X{Server}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ProcessKey}|%X{RemoteHost}|%X{AlertSeverity}|%X{TargetVirtualEntity}|%level|%thread| %msg%n" />
40     <property name="transactionPattern" value="${metricPattern}" />
41
42     <appender name="ErrorOut"
43         class="ch.qos.logback.core.rolling.RollingFileAppender">
44         <file>${logDir}/${errorLog}.log</file>
45         <rollingPolicy
46             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
47             <fileNamePattern>${logDir}/${errorLog}.%d{yyyy-MM-dd}.%i.log.zip
48             </fileNamePattern>
49             <maxFileSize>50MB</maxFileSize>
50             <maxHistory>30</maxHistory>
51             <totalSizeCap>10GB</totalSizeCap>
52         </rollingPolicy>
53         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
54             <level>WARN</level>
55         </filter>
56         <encoder>
57             <pattern>${errorPattern}</pattern>
58         </encoder>
59     </appender>
60
61     <appender name="AsyncErrorOut"
62         class="ch.qos.logback.classic.AsyncAppender">
63         <appender-ref ref="ErrorOut" />
64     </appender>
65
66     <appender name="DebugOut"
67         class="ch.qos.logback.core.rolling.RollingFileAppender">
68         <file>${logDir}/${debugLog}.log</file>
69         <rollingPolicy
70             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
71             <fileNamePattern>${logDir}/${debugLog}.%d{yyyy-MM-dd}.%i.log.zip
72             </fileNamePattern>
73             <maxFileSize>50MB</maxFileSize>
74             <maxHistory>30</maxHistory>
75             <totalSizeCap>10GB</totalSizeCap>
76         </rollingPolicy>
77         <encoder>
78             <pattern>${debugPattern}</pattern>
79         </encoder>
80     </appender>
81
82     <appender name="AsyncDebugOut"
83         class="ch.qos.logback.classic.AsyncAppender">
84         <appender-ref ref="DebugOut" />
85     </appender>
86
87     <appender name="NetworkOut"
88         class="ch.qos.logback.core.rolling.RollingFileAppender">
89         <file>${logDir}/${networkLog}.log</file>
90         <rollingPolicy
91             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
92             <fileNamePattern>${logDir}/${networkLog}.%d{yyyy-MM-dd}.%i.log.zip
93             </fileNamePattern>
94             <maxFileSize>50MB</maxFileSize>
95             <maxHistory>30</maxHistory>
96             <totalSizeCap>10GB</totalSizeCap>
97         </rollingPolicy>
98         <encoder>
99             <pattern>${networkPattern}</pattern>
100         </encoder>
101     </appender>
102
103     <appender name="AsyncNetworkOut"
104         class="ch.qos.logback.classic.AsyncAppender">
105         <appender-ref ref="NetworkOut" />
106     </appender>
107
108     <appender name="MetricOut"
109         class="ch.qos.logback.core.rolling.RollingFileAppender">
110         <file>${logDir}/${metricLog}.log</file>
111         <rollingPolicy
112             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
113             <fileNamePattern>${logDir}/${metricLog}.%d{yyyy-MM-dd}.%i.log.zip
114             </fileNamePattern>
115             <maxFileSize>50MB</maxFileSize>
116             <maxHistory>30</maxHistory>
117             <totalSizeCap>10GB</totalSizeCap>
118         </rollingPolicy>
119         <encoder>
120             <pattern>${metricPattern}</pattern>
121         </encoder>
122     </appender>
123
124     <appender name="AsyncMetricOut"
125         class="ch.qos.logback.classic.AsyncAppender">
126         <appender-ref ref="MetricOut" />
127     </appender>
128
129     <appender name="TransactionOut"
130         class="ch.qos.logback.core.rolling.RollingFileAppender">
131         <file>${logDir}/${transactionLog}.log</file>
132         <rollingPolicy
133             class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
134             <fileNamePattern>${logDir}/${transactionLog}.%d{yyyy-MM-dd}.%i.log.zip
135             </fileNamePattern>
136             <maxFileSize>50MB</maxFileSize>
137             <maxHistory>30</maxHistory>
138             <totalSizeCap>10GB</totalSizeCap>
139         </rollingPolicy>
140         <encoder>
141             <pattern>${transactionPattern}</pattern>
142         </encoder>
143     </appender>
144
145     <appender name="AsyncTransactionOut"
146         class="ch.qos.logback.classic.AsyncAppender">
147         <appender-ref ref="TransactionOut" />
148     </appender>
149
150     <logger name="network" level="INFO" additivity="false">
151         <appender-ref ref="AsyncNetworkOut" />
152     </logger>
153
154     <logger name="org.eclipse.jetty.server.RequestLog" level="info"
155         additivity="false">
156         <appender-ref ref="AsyncNetworkOut" />
157     </logger>
158
159     <root level="INFO">
160         <appender-ref ref="AsyncDebugOut" />
161         <appender-ref ref="AsyncErrorOut" />
162         <appender-ref ref="AsyncMetricOut" />
163         <appender-ref ref="AsyncTransactionOut" />
164     </root>
165
166 </configuration>