1 <?xml version="1.0" encoding="utf-8"?>
\r
3 # Copyright © 2018 Amdocs, Bell Canada, AT&T, ZTE
\r
5 # Licensed under the Apache License, Version 2.0 (the "License");
\r
6 # you may not use this file except in compliance with the License.
\r
7 # You may obtain a copy of the License at
\r
9 # http://www.apache.org/licenses/LICENSE-2.0
\r
11 # Unless required by applicable law or agreed to in writing, software
\r
12 # distributed under the License is distributed on an "AS IS" BASIS,
\r
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
14 # See the License for the specific language governing permissions and
\r
15 # limitations under the License.
\r
17 <configuration scan="true" scanPeriod="3 seconds">
\r
18 <property name="logDir" value="/var/log/onap"/>
\r
19 <property name="componentName" scope="system" value="sdc"/>
\r
20 <property name="subComponentName" scope="system" value="sdc-onboarding-be"/>
\r
21 <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}"/>
\r
22 <property file="${config.home}/catalog-be/configuration.yaml"/>
\r
23 <property name="enable-all-log" scope="context" value="false"/>
\r
24 <!-- log file names -->
\r
25 <property name="errorLogName" value="error"/>
\r
26 <property name="metricsLogName" value="metrics"/>
\r
27 <property name="auditLogName" value="audit"/>
\r
28 <property name="debugLogName" value="debug"/>
\r
29 <property name="transactionLogName" value="transaction"/>
\r
30 <property name="allLogName" value="all"/>
\r
31 <property name="queueSize" value="256"/>
\r
32 <property name="maxFileSize" value="50MB"/>
\r
33 <property name="maxHistory" value="30"/>
\r
34 <property name="totalSizeCap" value="10GB"/>
\r
35 <property name="pattern"
\r
36 value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n"/>
\r
39 <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
\r
41 <pattern>${pattern}</pattern>
\r
46 <appender class="ch.qos.logback.core.ConsoleAppender" name="STDERR">
\r
47 <filter class="ch.qos.logback.classic.filter.LevelFilter">
\r
48 <level>ERROR</level>
\r
49 <onMatch>ACCEPT</onMatch>
\r
50 <onMismatch>DENY</onMismatch>
\r
53 <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
\r
58 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
\r
60 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
\r
61 <file>${logDirectory}/${allLogName}.log</file>
\r
62 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
63 <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
64 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
65 <maxFileSize>${maxFileSize}</maxFileSize>
\r
66 </timeBasedFileNamingAndTriggeringPolicy>
\r
67 <maxHistory>${maxHistory}</maxHistory>
\r
68 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
71 <pattern>${pattern}</pattern>
\r
74 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">
\r
75 <appender-ref ref="ALL_ROLLING"/>
\r
80 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
\r
81 <file>${logDirectory}/${errorLogName}.log</file>
\r
82 <!-- Audit messages filter - deny audit messages -->
\r
83 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
84 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
85 <marker>AUDIT_MARKER</marker>
\r
87 <onMismatch>NEUTRAL</onMismatch>
\r
88 <onMatch>DENY</onMatch>
\r
90 <!-- Transaction messages filter - deny Transaction messages -->
\r
91 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
92 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
93 <marker>TRANSACTION_MARKER</marker>
\r
95 <onMismatch>NEUTRAL</onMismatch>
\r
96 <onMatch>DENY</onMatch>
\r
98 <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
\r
99 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
\r
100 <level>INFO</level>
\r
102 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
103 <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
104 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
105 <maxFileSize>${maxFileSize}</maxFileSize>
\r
106 </timeBasedFileNamingAndTriggeringPolicy>
\r
107 <maxHistory>${maxHistory}</maxHistory>
\r
108 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
111 <pattern>${pattern}</pattern>
\r
115 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
\r
116 <file>${logDirectory}/${debugLogName}.log</file>
\r
117 <!-- No need to deny audit messages - they are INFO only, will be denied anyway -->
\r
118 <!-- Transaction messages filter - deny Transaction messages, there are some DEBUG level messages among them -->
\r
119 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
120 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
121 <marker>TRANSACTION_MARKER</marker>
\r
123 <onMismatch>NEUTRAL</onMismatch>
\r
124 <onMatch>DENY</onMatch>
\r
126 <!-- accept DEBUG and TRACE level -->
\r
127 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
128 <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
\r
129 <expression>e.level.toInt() <= DEBUG.toInt()</expression>
\r
131 <OnMismatch>DENY</OnMismatch>
\r
132 <OnMatch>NEUTRAL</OnMatch>
\r
134 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
135 <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
136 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
137 <maxFileSize>${maxFileSize}</maxFileSize>
\r
138 </timeBasedFileNamingAndTriggeringPolicy>
\r
139 <maxHistory>${maxHistory}</maxHistory>
\r
140 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
143 <pattern>${pattern}</pattern>
\r
147 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
\r
148 <file>${logDirectory}/${auditLogName}.log</file>
\r
149 <!-- Audit messages filter - accept audit messages -->
\r
150 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
151 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
152 <marker>AUDIT_MARKER</marker>
\r
154 <onMismatch>DENY</onMismatch>
\r
155 <onMatch>ACCEPT</onMatch>
\r
157 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
158 <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
159 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
160 <maxFileSize>${maxFileSize}</maxFileSize>
\r
161 </timeBasedFileNamingAndTriggeringPolicy>
\r
162 <maxHistory>${maxHistory}</maxHistory>
\r
163 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
166 <pattern>${pattern}</pattern>
\r
169 <!-- SdncTransaction log -->
\r
170 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
\r
171 <file>${logDirectory}/${transactionLogName}.log</file>
\r
172 <!-- Transaction messages filter - accept audit messages -->
\r
173 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
174 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
175 <marker>TRANSACTION_MARKER</marker>
\r
177 <onMismatch>DENY</onMismatch>
\r
178 <onMatch>ACCEPT</onMatch>
\r
180 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
181 <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
182 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
183 <maxFileSize>${maxFileSize}</maxFileSize>
\r
184 </timeBasedFileNamingAndTriggeringPolicy>
\r
185 <maxHistory>${maxHistory}</maxHistory>
\r
186 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
189 <pattern>${pattern}</pattern>
\r
192 <!-- Asynchronicity Configurations -->
\r
193 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
\r
194 <queueSize>${queueSize}</queueSize>
\r
195 <appender-ref ref="DEBUG_ROLLING"/>
\r
197 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
\r
198 <queueSize>${queueSize}</queueSize>
\r
199 <appender-ref ref="TRANSACTION_ROLLING"/>
\r
201 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
\r
202 <queueSize>${queueSize}</queueSize>
\r
203 <appender-ref ref="ERROR_ROLLING"/>
\r
205 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
\r
206 <queueSize>${queueSize}</queueSize>
\r
207 <appender-ref ref="AUDIT_ROLLING"/>
\r
209 <root level="INFO">
\r
210 <appender-ref ref="ASYNC_ERROR"/>
\r
211 <appender-ref ref="ASYNC_DEBUG"/>
\r
212 <appender-ref ref="ASYNC_AUDIT"/>
\r
213 <appender-ref ref="ASYNC_TRANSACTION"/>
\r
214 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
\r
216 <appender-ref ref="ALL_ROLLING"/>
\r
219 <appender-ref ref="STDOUT"/>
\r
220 <appender-ref ref="STDERR"/>
\r
222 <logger level="INFO" name="org.openecomp.sdc"/>
\r