Merge "[SDC] Update SDC docker versions to 1.10.1"
[oom.git] / kubernetes / sdc / components / sdc-fe / 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 \r
18 <configuration scan="true" scanPeriod="3 seconds">\r
19     <property name="logDir" value="/var/log/onap"/>\r
20     <property name="componentName" scope="system" value="sdc"/>\r
21     <property name="subComponentName" scope="system" value="sdc-fe"/>\r
22     <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}"/>\r
23     <property file="${config.home}/catalog-fe/configuration.yaml"/>\r
24     <property name="enable-all-log" scope="context" value="false"/>\r
25     <!--  log file names -->\r
26     <property name="errorLogName" value="error"/>\r
27     <property name="metricsLogName" value="metrics"/>\r
28     <property name="auditLogName" value="audit"/>\r
29     <property name="debugLogName" value="debug"/>\r
30     <property name="transactionLogName" value="transaction"/>\r
31     <property name="allLogName" value="all"/>\r
32     <property name="queueSize" value="256"/>\r
33     <property name="maxFileSize" value="50MB"/>\r
34     <property name="maxHistory" value="30"/>\r
35     <property name="totalSizeCap" value="10GB"/>\r
36     <property name="pattern"\r
37         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
38 \r
39     <!-- STDOUT -->\r
40     <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
41         <encoder>\r
42             <pattern>${pattern}</pattern>\r
43         </encoder>\r
44     </appender>\r
45 \r
46     <!-- STDERR -->\r
47     <appender class="ch.qos.logback.core.ConsoleAppender" name="STDERR">\r
48         <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
49             <level>ERROR</level>\r
50             <onMatch>ACCEPT</onMatch>\r
51             <onMismatch>DENY</onMismatch>\r
52         </filter>\r
53         <encoder>\r
54             <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
55         </encoder>\r
56     </appender>\r
57 \r
58     <!-- All log -->\r
59     <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
60         <then>\r
61             <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
62                 <file>${logDirectory}/${allLogName}.log</file>\r
63                 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
64                     <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
65                     <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
66                         <maxFileSize>${maxFileSize}</maxFileSize>\r
67                     </timeBasedFileNamingAndTriggeringPolicy>\r
68                     <maxHistory>${maxHistory}</maxHistory>\r
69                     <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
70                 </rollingPolicy>\r
71                 <encoder>\r
72                     <pattern>${pattern}</pattern>\r
73                 </encoder>\r
74             </appender>\r
75             <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
76                 <appender-ref ref="ALL_ROLLING"/>\r
77             </appender>\r
78         </then>\r
79     </if>\r
80     <!-- Error log -->\r
81     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
82         <file>${logDirectory}/${errorLogName}.log</file>\r
83         <!-- Audit messages filter - deny audit messages -->\r
84         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
85             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
86                 <marker>AUDIT_MARKER</marker>\r
87             </evaluator>\r
88             <onMismatch>NEUTRAL</onMismatch>\r
89             <onMatch>DENY</onMatch>\r
90         </filter>\r
91         <!-- Transaction messages filter - deny Transaction messages -->\r
92         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
93             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
94                 <marker>TRANSACTION_MARKER</marker>\r
95             </evaluator>\r
96             <onMismatch>NEUTRAL</onMismatch>\r
97             <onMatch>DENY</onMatch>\r
98         </filter>\r
99         <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
100         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
101             <level>INFO</level>\r
102         </filter>\r
103         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
104             <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
105             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
106                 <maxFileSize>${maxFileSize}</maxFileSize>\r
107             </timeBasedFileNamingAndTriggeringPolicy>\r
108             <maxHistory>${maxHistory}</maxHistory>\r
109             <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
110         </rollingPolicy>\r
111         <encoder>\r
112             <pattern>${pattern}</pattern>\r
113         </encoder>\r
114     </appender>\r
115     <!-- Debug log -->\r
116     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
117         <file>${logDirectory}/${debugLogName}.log</file>\r
118         <!-- No need to deny audit messages - they are INFO only, will be denied\r
119                         anyway -->\r
120         <!-- Transaction messages filter - deny Transaction messages, there are\r
121                         some DEBUG level messages among them -->\r
122         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
123             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
124                 <marker>TRANSACTION_MARKER</marker>\r
125             </evaluator>\r
126             <onMismatch>NEUTRAL</onMismatch>\r
127             <onMatch>DENY</onMatch>\r
128         </filter>\r
129         <!-- accept DEBUG and TRACE level -->\r
130         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
131             <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
132                 <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
133             </evaluator>\r
134             <OnMismatch>DENY</OnMismatch>\r
135             <OnMatch>NEUTRAL</OnMatch>\r
136         </filter>\r
137         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
138             <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
139             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
140                 <maxFileSize>${maxFileSize}</maxFileSize>\r
141             </timeBasedFileNamingAndTriggeringPolicy>\r
142             <maxHistory>${maxHistory}</maxHistory>\r
143             <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
144         </rollingPolicy>\r
145         <encoder>\r
146             <pattern>${pattern}</pattern>\r
147         </encoder>\r
148     </appender>\r
149     <!-- Audit log -->\r
150     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
151         <file>${logDirectory}/${auditLogName}.log</file>\r
152         <!-- Audit messages filter - accept audit messages -->\r
153         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
154             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
155                 <marker>AUDIT_MARKER</marker>\r
156             </evaluator>\r
157             <onMismatch>DENY</onMismatch>\r
158             <onMatch>ACCEPT</onMatch>\r
159         </filter>\r
160         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
161             <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
162             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
163                 <maxFileSize>${maxFileSize}</maxFileSize>\r
164             </timeBasedFileNamingAndTriggeringPolicy>\r
165             <maxHistory>${maxHistory}</maxHistory>\r
166             <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
167         </rollingPolicy>\r
168         <encoder>\r
169             <pattern>${pattern}</pattern>\r
170         </encoder>\r
171     </appender>\r
172     <!-- SdncTransaction log -->\r
173     <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
174         <file>${logDirectory}/${transactionLogName}.log</file>\r
175         <!-- Transaction messages filter - accept audit messages -->\r
176         <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
177             <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
178                 <marker>TRANSACTION_MARKER</marker>\r
179             </evaluator>\r
180             <onMismatch>DENY</onMismatch>\r
181             <onMatch>ACCEPT</onMatch>\r
182         </filter>\r
183         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
184             <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
185             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
186                 <maxFileSize>${maxFileSize}</maxFileSize>\r
187             </timeBasedFileNamingAndTriggeringPolicy>\r
188             <maxHistory>${maxHistory}</maxHistory>\r
189             <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
190         </rollingPolicy>\r
191         <encoder>\r
192             <pattern>${pattern}</pattern>\r
193         </encoder>\r
194     </appender>\r
195     <!-- Asynchronicity Configurations -->\r
196     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
197         <queueSize>${queueSize}</queueSize>\r
198         <appender-ref ref="DEBUG_ROLLING"/>\r
199     </appender>\r
200     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
201         <queueSize>${queueSize}</queueSize>\r
202         <appender-ref ref="TRANSACTION_ROLLING"/>\r
203     </appender>\r
204     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
205         <queueSize>${queueSize}</queueSize>\r
206         <appender-ref ref="ERROR_ROLLING"/>\r
207     </appender>\r
208     <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
209         <queueSize>${queueSize}</queueSize>\r
210         <appender-ref ref="AUDIT_ROLLING"/>\r
211     </appender>\r
212     <root level="INFO">\r
213         <appender-ref ref="ASYNC_ERROR"/>\r
214         <appender-ref ref="ASYNC_DEBUG"/>\r
215         <appender-ref ref="ASYNC_AUDIT"/>\r
216         <appender-ref ref="ASYNC_TRANSACTION"/>\r
217         <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
218             <then>\r
219                 <appender-ref ref="ALL_ROLLING"/>\r
220             </then>\r
221         </if>\r
222         <appender-ref ref="STDOUT"/>\r
223         <appender-ref ref="STDERR"/>\r
224     </root>\r
225     <logger level="INFO" name="org.openecomp.sdc"/>\r
226 </configuration>\r