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"></property>
\r
20 <property name="subComponentName" scope="system" value="sdc-onboarding-be"></property>
\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" 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
37 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
\r
39 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
\r
40 <file>${logDirectory}/${allLogName}.log</file>
\r
41 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
42 <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
43 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
44 <maxFileSize>${maxFileSize}</maxFileSize>
\r
45 </timeBasedFileNamingAndTriggeringPolicy>
\r
46 <maxHistory>${maxHistory}</maxHistory>
\r
47 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
50 <pattern>${pattern}</pattern>
\r
53 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">
\r
54 <appender-ref ref="ALL_ROLLING" />
\r
59 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
\r
60 <file>${logDirectory}/${errorLogName}.log</file>
\r
61 <!-- Audit messages filter - deny audit messages -->
\r
62 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
63 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
64 <marker>AUDIT_MARKER</marker>
\r
66 <onMismatch>NEUTRAL</onMismatch>
\r
67 <onMatch>DENY</onMatch>
\r
69 <!-- Transaction messages filter - deny Transaction messages -->
\r
70 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
71 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
72 <marker>TRANSACTION_MARKER</marker>
\r
74 <onMismatch>NEUTRAL</onMismatch>
\r
75 <onMatch>DENY</onMatch>
\r
77 <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
\r
78 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
\r
81 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
82 <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
83 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
84 <maxFileSize>${maxFileSize}</maxFileSize>
\r
85 </timeBasedFileNamingAndTriggeringPolicy>
\r
86 <maxHistory>${maxHistory}</maxHistory>
\r
87 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
90 <pattern>${pattern}</pattern>
\r
94 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
\r
95 <file>${logDirectory}/${debugLogName}.log</file>
\r
96 <!-- No need to deny audit messages - they are INFO only, will be denied
\r
98 <!-- Transaction messages filter - deny Transaction messages, there are
\r
99 some DEBUG level messages among them -->
\r
100 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
101 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
102 <marker>TRANSACTION_MARKER</marker>
\r
104 <onMismatch>NEUTRAL</onMismatch>
\r
105 <onMatch>DENY</onMatch>
\r
107 <!-- accept DEBUG and TRACE level -->
\r
108 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
109 <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
\r
110 <expression>e.level.toInt() <= DEBUG.toInt()</expression>
\r
112 <OnMismatch>DENY</OnMismatch>
\r
113 <OnMatch>NEUTRAL</OnMatch>
\r
115 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
116 <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
117 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
118 <maxFileSize>${maxFileSize}</maxFileSize>
\r
119 </timeBasedFileNamingAndTriggeringPolicy>
\r
120 <maxHistory>${maxHistory}</maxHistory>
\r
121 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
124 <pattern>${pattern}</pattern>
\r
128 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
\r
129 <file>${logDirectory}/${auditLogName}.log</file>
\r
130 <!-- Audit messages filter - accept audit messages -->
\r
131 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
132 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
133 <marker>AUDIT_MARKER</marker>
\r
135 <onMismatch>DENY</onMismatch>
\r
136 <onMatch>ACCEPT</onMatch>
\r
138 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
139 <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
140 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
141 <maxFileSize>${maxFileSize}</maxFileSize>
\r
142 </timeBasedFileNamingAndTriggeringPolicy>
\r
143 <maxHistory>${maxHistory}</maxHistory>
\r
144 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
147 <pattern>${pattern}</pattern>
\r
150 <!-- SdncTransaction log -->
\r
151 <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
\r
152 <file>${logDirectory}/${transactionLogName}.log</file>
\r
153 <!-- Transaction messages filter - accept audit messages -->
\r
154 <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
\r
155 <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
\r
156 <marker>TRANSACTION_MARKER</marker>
\r
158 <onMismatch>DENY</onMismatch>
\r
159 <onMatch>ACCEPT</onMatch>
\r
161 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
\r
162 <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
\r
163 <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
\r
164 <maxFileSize>${maxFileSize}</maxFileSize>
\r
165 </timeBasedFileNamingAndTriggeringPolicy>
\r
166 <maxHistory>${maxHistory}</maxHistory>
\r
167 <totalSizeCap>${totalSizeCap}</totalSizeCap>
\r
170 <pattern>${pattern}</pattern>
\r
173 <!-- Asynchronicity Configurations -->
\r
174 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
\r
175 <queueSize>${queueSize}</queueSize>
\r
176 <appender-ref ref="DEBUG_ROLLING" />
\r
178 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
\r
179 <queueSize>${queueSize}</queueSize>
\r
180 <appender-ref ref="TRANSACTION_ROLLING" />
\r
182 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
\r
183 <queueSize>${queueSize}</queueSize>
\r
184 <appender-ref ref="ERROR_ROLLING" />
\r
186 <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
\r
187 <queueSize>${queueSize}</queueSize>
\r
188 <appender-ref ref="AUDIT_ROLLING" />
\r
190 <root level="INFO">
\r
191 <appender-ref ref="ASYNC_ERROR" />
\r
192 <appender-ref ref="ASYNC_DEBUG" />
\r
193 <appender-ref ref="ASYNC_AUDIT" />
\r
194 <appender-ref ref="ASYNC_TRANSACTION" />
\r
195 <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
\r
197 <appender-ref ref="ALL_ROLLING" />
\r
201 <logger level="INFO" name="org.openecomp.sdc" />
\r