1 <?xml version="1.0" encoding="utf-8"?>
3 # Copyright © 2018 Amdocs, Bell Canada, AT&T, ZTE
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 <configuration scan="true" scanPeriod="3 seconds">
17 <property name="logDir" value="/var/log/onap"/>
18 <property name="componentName" scope="system" value="sdc"/>
19 <property name="subComponentName" scope="system" value="sdc-be"/>
20 <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}"/>
21 <property file="${config.home}/catalog-be/configuration.yaml"/>
22 <property name="enable-all-log" scope="context" value="false"/>
23 <!-- log file names -->
24 <property name="errorLogName" value="error"/>
25 <property name="metricsLogName" value="metrics"/>
26 <property name="auditLogName" value="audit"/>
27 <property name="debugLogName" value="debug"/>
28 <property name="transactionLogName" value="transaction"/>
29 <property name="allLogName" value="all"/>
30 <property name="queueSize" value="256"/>
31 <property name="maxFileSize" value="50MB"/>
32 <property name="maxHistory" value="30"/>
33 <property name="totalSizeCap" value="10GB"/>
34 <property name="pattern"
35 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"/>
38 <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
40 <pattern>${pattern}</pattern>
45 <appender class="ch.qos.logback.core.ConsoleAppender" name="STDERR">
46 <filter class="ch.qos.logback.classic.filter.LevelFilter">
48 <onMatch>ACCEPT</onMatch>
49 <onMismatch>DENY</onMismatch>
52 <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
57 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
59 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
60 <file>${logDirectory}/${allLogName}.log</file>
61 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
62 <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
63 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
64 <maxFileSize>${maxFileSize}</maxFileSize>
65 </timeBasedFileNamingAndTriggeringPolicy>
66 <maxHistory>${maxHistory}</maxHistory>
67 <totalSizeCap>${totalSizeCap}</totalSizeCap>
70 <pattern>${pattern}</pattern>
73 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">
74 <appender-ref ref="ALL_ROLLING"/>
79 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
80 <file>${logDirectory}/${errorLogName}.log</file>
81 <!-- Audit messages filter - deny audit messages -->
82 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
83 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
84 <marker>AUDIT_MARKER</marker>
86 <onMismatch>NEUTRAL</onMismatch>
87 <onMatch>DENY</onMatch>
89 <!-- Transaction messages filter - deny Transaction messages -->
90 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
91 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
92 <marker>TRANSACTION_MARKER</marker>
94 <onMismatch>NEUTRAL</onMismatch>
95 <onMatch>DENY</onMatch>
97 <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
98 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
101 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
102 <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
103 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
104 <maxFileSize>${maxFileSize}</maxFileSize>
105 </timeBasedFileNamingAndTriggeringPolicy>
106 <maxHistory>${maxHistory}</maxHistory>
107 <totalSizeCap>${totalSizeCap}</totalSizeCap>
110 <pattern>${pattern}</pattern>
114 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
115 <file>${logDirectory}/${debugLogName}.log</file>
116 <!-- No need to deny audit messages - they are INFO only, will be denied anyway -->
117 <!-- Transaction messages filter - deny Transaction messages, there are some DEBUG level messages among them -->
118 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
119 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
120 <marker>TRANSACTION_MARKER</marker>
122 <onMismatch>NEUTRAL</onMismatch>
123 <onMatch>DENY</onMatch>
125 <!-- accept DEBUG and TRACE level -->
126 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
127 <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
128 <expression>e.level.toInt() <= DEBUG.toInt()</expression>
130 <OnMismatch>DENY</OnMismatch>
131 <OnMatch>NEUTRAL</OnMatch>
133 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
134 <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
135 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
136 <maxFileSize>${maxFileSize}</maxFileSize>
137 </timeBasedFileNamingAndTriggeringPolicy>
138 <maxHistory>${maxHistory}</maxHistory>
139 <totalSizeCap>${totalSizeCap}</totalSizeCap>
142 <pattern>${pattern}</pattern>
146 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
147 <file>${logDirectory}/${auditLogName}.log</file>
148 <!-- Audit messages filter - accept audit messages -->
149 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
150 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
151 <marker>AUDIT_MARKER</marker>
153 <onMismatch>DENY</onMismatch>
154 <onMatch>ACCEPT</onMatch>
156 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
157 <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
158 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
159 <maxFileSize>${maxFileSize}</maxFileSize>
160 </timeBasedFileNamingAndTriggeringPolicy>
161 <maxHistory>${maxHistory}</maxHistory>
162 <totalSizeCap>${totalSizeCap}</totalSizeCap>
165 <pattern>${pattern}</pattern>
168 <!-- SdncTransaction log -->
169 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
170 <file>${logDirectory}/${transactionLogName}.log</file>
171 <!-- Transaction messages filter - accept audit messages -->
172 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
173 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
174 <marker>TRANSACTION_MARKER</marker>
176 <onMismatch>DENY</onMismatch>
177 <onMatch>ACCEPT</onMatch>
179 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
180 <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
181 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
182 <maxFileSize>${maxFileSize}</maxFileSize>
183 </timeBasedFileNamingAndTriggeringPolicy>
184 <maxHistory>${maxHistory}</maxHistory>
185 <totalSizeCap>${totalSizeCap}</totalSizeCap>
188 <pattern>${pattern}</pattern>
191 <!-- Asynchronicity Configurations -->
192 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
193 <queueSize>${queueSize}</queueSize>
194 <appender-ref ref="DEBUG_ROLLING"/>
196 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
197 <queueSize>${queueSize}</queueSize>
198 <appender-ref ref="TRANSACTION_ROLLING"/>
200 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
201 <queueSize>${queueSize}</queueSize>
202 <appender-ref ref="ERROR_ROLLING"/>
204 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
205 <queueSize>${queueSize}</queueSize>
206 <appender-ref ref="AUDIT_ROLLING"/>
209 <appender-ref ref="ASYNC_ERROR"/>
210 <appender-ref ref="ASYNC_DEBUG"/>
211 <appender-ref ref="ASYNC_AUDIT"/>
212 <appender-ref ref="ASYNC_TRANSACTION"/>
213 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
215 <appender-ref ref="ALL_ROLLING"/>
218 <appender-ref ref="STDOUT"/>
219 <appender-ref ref="STDERR"/>
221 <logger level="INFO" name="org.openecomp.sdc"/>