[COMMON] Add and run pre-commit linters via tox
[oom.git] / kubernetes / sdc / components / sdc-be / resources / config / logging / logback.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
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
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
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.
15 -->
16 <configuration scan="true" scanPeriod="3 seconds">
17     <property name="logDir" value="/var/log/onap" />
18     <property name="componentName" scope="system" value="sdc"></property>
19     <property name="subComponentName" scope="system" value="sdc-be"></property>
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" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, 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" />
35     <!-- All log -->
36     <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
37         <then>
38             <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">
39                 <file>${logDirectory}/${allLogName}.log</file>
40                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
41                     <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
42                     <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
43                         <maxFileSize>${maxFileSize}</maxFileSize>
44                     </timeBasedFileNamingAndTriggeringPolicy>
45                     <maxHistory>${maxHistory}</maxHistory>
46                     <totalSizeCap>${totalSizeCap}</totalSizeCap>
47                 </rollingPolicy>
48                 <encoder>
49                     <pattern>${pattern}</pattern>
50                 </encoder>
51             </appender>
52             <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">
53                 <appender-ref ref="ALL_ROLLING" />
54             </appender>
55         </then>
56     </if>
57     <!-- Error log -->
58     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">
59         <file>${logDirectory}/${errorLogName}.log</file>
60         <!-- Audit messages filter - deny audit messages -->
61         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
62             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
63                 <marker>AUDIT_MARKER</marker>
64             </evaluator>
65             <onMismatch>NEUTRAL</onMismatch>
66             <onMatch>DENY</onMatch>
67         </filter>
68         <!-- Transaction messages filter - deny Transaction messages -->
69         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
70             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
71                 <marker>TRANSACTION_MARKER</marker>
72             </evaluator>
73             <onMismatch>NEUTRAL</onMismatch>
74             <onMatch>DENY</onMatch>
75         </filter>
76         <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
77         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
78             <level>INFO</level>
79         </filter>
80         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
81             <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
82             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
83                 <maxFileSize>${maxFileSize}</maxFileSize>
84             </timeBasedFileNamingAndTriggeringPolicy>
85             <maxHistory>${maxHistory}</maxHistory>
86             <totalSizeCap>${totalSizeCap}</totalSizeCap>
87         </rollingPolicy>
88         <encoder>
89             <pattern>${pattern}</pattern>
90         </encoder>
91     </appender>
92     <!-- Debug log -->
93     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">
94         <file>${logDirectory}/${debugLogName}.log</file>
95         <!-- No need to deny audit messages - they are INFO only, will be denied anyway -->
96         <!-- Transaction messages filter - deny Transaction messages, there are some DEBUG level messages among them -->
97         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
98             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
99                 <marker>TRANSACTION_MARKER</marker>
100             </evaluator>
101             <onMismatch>NEUTRAL</onMismatch>
102             <onMatch>DENY</onMatch>
103         </filter>
104         <!-- accept DEBUG and TRACE level -->
105         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
106             <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
107                 <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>
108             </evaluator>
109             <OnMismatch>DENY</OnMismatch>
110             <OnMatch>NEUTRAL</OnMatch>
111         </filter>
112         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
113             <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
114             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
115                 <maxFileSize>${maxFileSize}</maxFileSize>
116             </timeBasedFileNamingAndTriggeringPolicy>
117             <maxHistory>${maxHistory}</maxHistory>
118             <totalSizeCap>${totalSizeCap}</totalSizeCap>
119         </rollingPolicy>
120         <encoder>
121             <pattern>${pattern}</pattern>
122         </encoder>
123     </appender>
124     <!-- Audit log -->
125     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">
126         <file>${logDirectory}/${auditLogName}.log</file>
127         <!-- Audit messages filter - accept audit messages -->
128         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
129             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
130                 <marker>AUDIT_MARKER</marker>
131             </evaluator>
132             <onMismatch>DENY</onMismatch>
133             <onMatch>ACCEPT</onMatch>
134         </filter>
135         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
136             <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
137             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
138                 <maxFileSize>${maxFileSize}</maxFileSize>
139             </timeBasedFileNamingAndTriggeringPolicy>
140             <maxHistory>${maxHistory}</maxHistory>
141             <totalSizeCap>${totalSizeCap}</totalSizeCap>
142         </rollingPolicy>
143         <encoder>
144             <pattern>${pattern}</pattern>
145         </encoder>
146     </appender>
147     <!-- SdncTransaction log -->
148     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">
149         <file>${logDirectory}/${transactionLogName}.log</file>
150         <!-- Transaction messages filter - accept audit messages -->
151         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
152             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
153                 <marker>TRANSACTION_MARKER</marker>
154             </evaluator>
155             <onMismatch>DENY</onMismatch>
156             <onMatch>ACCEPT</onMatch>
157         </filter>
158         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
159             <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
160             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
161                 <maxFileSize>${maxFileSize}</maxFileSize>
162             </timeBasedFileNamingAndTriggeringPolicy>
163             <maxHistory>${maxHistory}</maxHistory>
164             <totalSizeCap>${totalSizeCap}</totalSizeCap>
165         </rollingPolicy>
166         <encoder>
167             <pattern>${pattern}</pattern>
168         </encoder>
169     </appender>
170     <!-- Asynchronicity Configurations -->
171     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">
172         <queueSize>${queueSize}</queueSize>
173         <appender-ref ref="DEBUG_ROLLING" />
174     </appender>
175     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">
176         <queueSize>${queueSize}</queueSize>
177         <appender-ref ref="TRANSACTION_ROLLING" />
178     </appender>
179     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">
180         <queueSize>${queueSize}</queueSize>
181         <appender-ref ref="ERROR_ROLLING" />
182     </appender>
183     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">
184         <queueSize>${queueSize}</queueSize>
185         <appender-ref ref="AUDIT_ROLLING" />
186     </appender>
187     <root level="INFO">
188         <appender-ref ref="ASYNC_ERROR" />
189         <appender-ref ref="ASYNC_DEBUG" />
190         <appender-ref ref="ASYNC_AUDIT" />
191         <appender-ref ref="ASYNC_TRANSACTION" />
192         <if condition='property("enable-all-log").equalsIgnoreCase("true")'>
193             <then>
194                 <appender-ref ref="ALL_ROLLING" />
195             </then>
196         </if>
197     </root>
198     <logger level="INFO" name="org.openecomp.sdc" />
199 </configuration>