Merge "[SDC] Update SDC docker versions to 1.10.1"
[oom.git] / kubernetes / sdc / components / sdc-onboarding-be / resources / config / logging / logback.xml
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <!--\r
3 # Copyright © 2018 Amdocs, Bell Canada, AT&T, ZTE\r
4 #\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
8 #\r
9 #       http://www.apache.org/licenses/LICENSE-2.0\r
10 #\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
16 -->\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{&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"/>\r
37 \r
38     <!-- STDOUT -->\r
39     <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
40         <encoder>\r
41             <pattern>${pattern}</pattern>\r
42         </encoder>\r
43     </appender>\r
44 \r
45     <!-- STDERR -->\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
51         </filter>\r
52         <encoder>\r
53             <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
54         </encoder>\r
55     </appender>\r
56 \r
57     <!-- All log -->\r
58     <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
59         <then>\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
69                 </rollingPolicy>\r
70                 <encoder>\r
71                     <pattern>${pattern}</pattern>\r
72                 </encoder>\r
73             </appender>\r
74             <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
75                 <appender-ref ref="ALL_ROLLING"/>\r
76             </appender>\r
77         </then>\r
78     </if>\r
79     <!-- Error log -->\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
86             </evaluator>\r
87             <onMismatch>NEUTRAL</onMismatch>\r
88             <onMatch>DENY</onMatch>\r
89         </filter>\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
94             </evaluator>\r
95             <onMismatch>NEUTRAL</onMismatch>\r
96             <onMatch>DENY</onMatch>\r
97         </filter>\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
101         </filter>\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
109         </rollingPolicy>\r
110         <encoder>\r
111             <pattern>${pattern}</pattern>\r
112         </encoder>\r
113     </appender>\r
114     <!-- Debug log -->\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
122             </evaluator>\r
123             <onMismatch>NEUTRAL</onMismatch>\r
124             <onMatch>DENY</onMatch>\r
125         </filter>\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() &lt;= DEBUG.toInt()</expression>\r
130             </evaluator>\r
131             <OnMismatch>DENY</OnMismatch>\r
132             <OnMatch>NEUTRAL</OnMatch>\r
133         </filter>\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
141         </rollingPolicy>\r
142         <encoder>\r
143             <pattern>${pattern}</pattern>\r
144         </encoder>\r
145     </appender>\r
146     <!-- Audit log -->\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
153             </evaluator>\r
154             <onMismatch>DENY</onMismatch>\r
155             <onMatch>ACCEPT</onMatch>\r
156         </filter>\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
164         </rollingPolicy>\r
165         <encoder>\r
166             <pattern>${pattern}</pattern>\r
167         </encoder>\r
168     </appender>\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
176             </evaluator>\r
177             <onMismatch>DENY</onMismatch>\r
178             <onMatch>ACCEPT</onMatch>\r
179         </filter>\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
187         </rollingPolicy>\r
188         <encoder>\r
189             <pattern>${pattern}</pattern>\r
190         </encoder>\r
191     </appender>\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
196     </appender>\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
200     </appender>\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
204     </appender>\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
208     </appender>\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
215             <then>\r
216                 <appender-ref ref="ALL_ROLLING"/>\r
217             </then>\r
218         </if>\r
219         <appender-ref ref="STDOUT"/>\r
220         <appender-ref ref="STDERR"/>\r
221     </root>\r
222     <logger level="INFO" name="org.openecomp.sdc"/>\r
223 </configuration>\r