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