CSIT Fix for SDC-2585
[sdc.git] / common-app-api / src / main / java / org / openecomp / sdc / common / log / wrappers / Logger.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.common.log.wrappers;
22
23 import com.google.common.annotations.VisibleForTesting;
24 import org.openecomp.sdc.common.config.EcompErrorConfiguration;
25 import org.openecomp.sdc.common.log.elements.LoggerDebug;
26 import org.openecomp.sdc.common.log.elements.LoggerError;
27 import org.openecomp.sdc.common.log.elements.LoggerFactory;
28 import org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
29 import org.openecomp.sdc.common.log.enums.LogLevel;
30 import org.slf4j.Marker;
31
32
33 /**
34  * This class wraps {@link org.slf4j.Logger} object and provides mandatory information required by Ecomp logging rules.
35  * Note: All deprecated methods are supported to be compatible to the legacy code
36  * and have not be used by the new code
37  */
38 public class Logger implements org.slf4j.Logger {
39     private final LoggerDebug debug;
40     private final LoggerError error;
41     private final org.slf4j.Logger logger;
42
43     @VisibleForTesting
44     private Logger(org.slf4j.Logger logger) {
45         this.logger = logger;
46         this.debug = LoggerFactory.getMdcLogger(LoggerDebug.class, logger);
47         this.error = LoggerFactory.getMdcLogger(LoggerError.class, logger);
48     }
49
50     private Logger(String className) {
51         this(org.slf4j.LoggerFactory.getLogger(className));
52     }
53
54     public static Logger getLogger(String className) {
55         return new Logger(className);
56     }
57
58     public static Logger getLogger(Class<?> clazz) {
59         return new Logger(clazz.getName());
60     }
61
62
63     public boolean isDebugEnabled() {
64         return logger.isDebugEnabled();
65     }
66
67     @Override
68     public String getName() {
69         return logger.getName();
70     }
71
72     public boolean isTraceEnabled() {
73         return logger.isTraceEnabled();
74     }
75
76     public boolean isErrorEnabled() {
77         return logger.isErrorEnabled();
78     }
79
80     public boolean isWarnEnabled() {
81         return logger.isWarnEnabled();
82     }
83
84     @Override
85     @Deprecated
86     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}  **/
87     public void warn(String msg) {
88         if (isWarnEnabled()) {
89             error.log(LogLevel.WARN, msg);
90         }
91     }
92
93     @Override
94     @Deprecated
95     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
96     public void warn(String msg, Object o) {
97
98         if (isWarnEnabled()) {
99             error.log(LogLevel.WARN, msg, o);
100         }
101     }
102
103     public boolean isInfoEnabled() {
104         return logger.isInfoEnabled();
105     }
106
107     @Override
108     public void info(String msg) {
109         if (isInfoEnabled()) {
110             error.logInfo(LogLevel.INFO, msg);
111         }
112     }
113
114     @Override
115     public void info(String msg, Object o) {
116         if (isInfoEnabled()) {
117             error.logInfo(LogLevel.INFO, msg, o);
118         }
119     }
120
121     @Override
122     public void info(String msg, Object o, Object o1) {
123         if (isInfoEnabled()) {
124             error.logInfo(LogLevel.INFO, msg, o, o1);
125         }
126     }
127
128     public void debug(String msg, Object... params) {
129         if (isDebugEnabled()) {
130             debug.log(LogLevel.DEBUG, msg, params);
131         }
132     }
133
134     @Override
135     public void debug(String msg, Throwable throwable) {
136         if (isDebugEnabled()) {
137             debug.log(LogLevel.DEBUG, msg, throwable);
138         }
139     }
140
141     @Override
142     public boolean isDebugEnabled(Marker marker) {
143         return false;
144     }
145
146     @Override
147     public void debug(Marker marker, String msg) {
148         if (isDebugEnabled()) {
149             debug.log(LogLevel.DEBUG, msg);
150         }
151     }
152
153     @Override
154     public void debug(Marker marker, String msg, Object o) {
155         if (isDebugEnabled()) {
156             debug.log(LogLevel.DEBUG, msg, o);
157         }
158     }
159
160     @Override
161     public void debug(Marker marker, String msg, Object o, Object o1) {
162         if (isDebugEnabled()) {
163             debug.log(LogLevel.DEBUG, msg, o, o1);
164         }
165     }
166
167     @Override
168     public void debug(Marker marker, String msg, Object... objects) {
169         if (isDebugEnabled()) {
170             debug.log(LogLevel.DEBUG, msg, objects);
171         }
172     }
173
174     @Override
175     public void debug(Marker marker, String msg, Throwable throwable) {
176         if (isDebugEnabled()) {
177             debug.log(LogLevel.DEBUG, msg, throwable);
178         }
179     }
180
181     public void debug(String message) {
182         if (isDebugEnabled()) {
183             debug.log(LogLevel.DEBUG, message);
184         }
185     }
186
187     @Override
188     public void debug(String msg, Object o) {
189         if (isDebugEnabled()) {
190             debug.log(LogLevel.DEBUG, msg, o);
191         }
192     }
193
194     @Override
195     public void debug(String msg, Object o, Object o1) {
196         if (isDebugEnabled()) {
197             debug.log(LogLevel.DEBUG, msg, o, o1);
198         }
199     }
200
201     public void trace(String message, Object... params) {
202         if (isTraceEnabled()) {
203             debug.log(LogLevel.TRACE, message, params);
204         }
205     }
206
207     @Override
208     public void trace(String msg, Throwable throwable) {
209         if (isTraceEnabled()) {
210             debug.log(LogLevel.TRACE, msg, throwable);
211         }
212     }
213
214     @Override
215     public boolean isTraceEnabled(Marker marker) {
216         return false;
217     }
218
219     @Override
220     public void trace(Marker marker, String msg) {
221         if (isTraceEnabled()) {
222             debug.log(LogLevel.TRACE, msg);
223         }
224     }
225
226     @Override
227     public void trace(Marker marker, String msg, Object o) {
228         if (isTraceEnabled()) {
229             debug.log(LogLevel.TRACE, msg, o);
230         }
231     }
232
233     @Override
234     public void trace(Marker marker, String msg, Object o, Object o1) {
235         if (isTraceEnabled()) {
236             debug.log(LogLevel.TRACE, msg, o, o1);
237         }
238     }
239
240     @Override
241     public void trace(Marker marker, String msg, Object... objects) {
242         if (isTraceEnabled()) {
243             debug.log(LogLevel.TRACE, msg, objects);
244         }
245     }
246
247     @Override
248     public void trace(Marker marker, String msg, Throwable throwable) {
249         if (isTraceEnabled()) {
250             debug.log(LogLevel.TRACE, msg, throwable);
251         }
252     }
253
254     public void trace(String msg) {
255         if (isTraceEnabled()) {
256             debug.log(LogLevel.TRACE, msg);
257         }
258     }
259
260     @Override
261     public void trace(String msg, Object o) {
262         if (isTraceEnabled()) {
263             debug.log(LogLevel.TRACE, msg, o);
264         }
265     }
266
267     @Override
268     public void trace(String msg, Object o, Object o1) {
269         if (isTraceEnabled()) {
270             debug.log(LogLevel.TRACE, msg, o, o1);
271         }
272     }
273
274     public void info(String msg, Object... params) {
275         if (isInfoEnabled()) {
276             error.logInfo(LogLevel.INFO, msg, params);
277         }
278     }
279
280     @Override
281     public void info(String msg, Throwable throwable) {
282         if (isInfoEnabled()) {
283             error.logInfo(LogLevel.INFO, msg, throwable);
284         }
285     }
286
287     @Override
288     public boolean isInfoEnabled(Marker marker) {
289         return false;
290     }
291
292     @Override
293     public void info(Marker marker, String msg) {
294         if (isInfoEnabled()) {
295             error.logInfo(LogLevel.INFO, msg);
296         }
297     }
298
299     @Override
300     public void info(Marker marker, String msg, Object o) {
301         if (isInfoEnabled()) {
302             error.logInfo(LogLevel.INFO, msg, o);
303         }
304     }
305
306     @Override
307     public void info(Marker marker, String msg, Object o, Object o1) {
308         if (isInfoEnabled()) {
309             error.logInfo(LogLevel.INFO, msg, o, o1);
310         }
311     }
312
313     @Override
314     public void info(Marker marker, String msg, Object... objects) {
315         if (isInfoEnabled()) {
316             error.logInfo(LogLevel.INFO, msg, objects);
317         }
318     }
319
320     @Override
321     public void info(Marker marker, String msg, Throwable throwable) {
322         if (isInfoEnabled()) {
323             error.logInfo(LogLevel.INFO, msg, throwable);
324         }
325     }
326
327     @Deprecated
328     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
329     public void warn(String msg, Object... params) {
330         if (isWarnEnabled()) {
331             error.log(LogLevel.WARN, msg, params);
332         }
333     }
334
335     @Override
336     @Deprecated
337     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
338     public void warn(String msg, Object o, Object o1) {
339         if (isWarnEnabled()) {
340             error.log(LogLevel.WARN, msg, o, o1);
341         }
342     }
343
344     @Override
345     @Deprecated
346     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
347     public void warn(String msg, Throwable throwable) {
348         if (isWarnEnabled()) {
349             error.log(LogLevel.WARN, msg, throwable);
350         }
351     }
352
353     @Override
354     public boolean isWarnEnabled(Marker marker) {
355         return false;
356     }
357
358     @Override
359     @Deprecated
360     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
361     public void warn(Marker marker, String msg) {
362         if (isWarnEnabled()) {
363             error.log(LogLevel.WARN, msg);
364         }
365     }
366
367     @Override
368     @Deprecated
369     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
370     public void warn(Marker marker, String msg, Object o) {
371         if (isWarnEnabled()) {
372             error.log(LogLevel.WARN, msg, o);
373         }
374     }
375
376     @Override
377     @Deprecated
378     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
379     public void warn(Marker marker, String msg, Object o, Object o1) {
380         if (isWarnEnabled()) {
381             error.log(LogLevel.WARN, msg, o, o1);
382         }
383     }
384
385     @Override
386     @Deprecated
387     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
388     public void warn(Marker marker, String msg, Object... objects) {
389         if (isWarnEnabled()) {
390             error.log(LogLevel.WARN, msg, objects);
391         }
392     }
393
394     @Override
395     @Deprecated
396     /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)}   **/
397     public void warn(Marker marker, String msg, Throwable throwable) {
398         if (isWarnEnabled()) {
399             error.log(LogLevel.WARN, msg, throwable);
400         }
401     }
402
403     @Deprecated
404     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
405     public void error(String msg, Object... params) {
406         if (isErrorEnabled()) {
407             error.log(LogLevel.ERROR, msg, params);
408         }
409     }
410
411     @Override
412     @Deprecated
413     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
414     public void error(String msg, Throwable throwable) {
415         if (isErrorEnabled()) {
416             error.log(LogLevel.ERROR, msg, throwable);
417         }
418     }
419
420     @Override
421     public boolean isErrorEnabled(Marker marker) {
422         return false;
423     }
424
425     @Override
426     @Deprecated
427     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
428     public void error(Marker marker, String msg) {
429         if (isErrorEnabled()) {
430             error.log(LogLevel.ERROR, msg);
431         }
432     }
433
434     @Override
435     @Deprecated
436     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
437     public void error(Marker marker, String msg, Object o) {
438         if (isErrorEnabled()) {
439             error.log(LogLevel.ERROR, msg, o);
440         }
441     }
442
443     @Override
444     @Deprecated
445     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
446     public void error(Marker marker, String msg, Object o, Object o1) {
447         if (isErrorEnabled()) {
448             error.log(LogLevel.ERROR, msg, o, o1);
449         }
450     }
451
452     @Override
453     @Deprecated
454     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
455     public void error(Marker marker, String msg, Object... params) {
456         if (isErrorEnabled()) {
457             error.log(LogLevel.ERROR, msg, params);
458         }
459     }
460
461     @Override
462     @Deprecated
463     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
464     public void error(Marker marker, String msg, Throwable throwable) {
465         if (isErrorEnabled()) {
466             error.log(LogLevel.ERROR, msg, throwable);
467         }
468     }
469
470     @Deprecated
471     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
472     public void error(String msg) {
473         if (isErrorEnabled()) {
474             error.log(LogLevel.ERROR, msg);
475         }
476     }
477
478     @Override
479     @Deprecated
480     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
481     public void error(String msg, Object o) {
482         if (isErrorEnabled()) {
483             error.log(LogLevel.ERROR, msg, o);
484         }
485     }
486
487     @Override
488     @Deprecated
489     /** Please use method {@link #error(EcompLoggerErrorCode, String, String)}  **/
490     public void error(String msg, Object o, Object o1) {
491         if (isErrorEnabled()) {
492             error.log(LogLevel.ERROR, msg, o, o1);
493         }
494     }
495
496     /**
497      * Writes out ERROR logging level message to the application error log
498      *
499      * @param errorLevel       code representing the error severity level
500      * @param serviceName      name of the API invoked at the logging component
501      * @param targetEntity     name of the ECOMP component or sub-component, or external entity at which the error occurred or null
502      * @param errorDescription a human readable description of the error condition
503      * @param params           optional parameters of a given error description
504      */
505     public void error(EcompErrorConfiguration.EcompErrorSeverity errorLevel,
506                       EcompLoggerErrorCode errorCodeEnum,
507                       String serviceName,
508                       String targetEntity,
509                       String errorDescription, Object... params) {
510         if (isErrorEnabled()) {
511             error.log(errorLevel, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
512         }
513     }
514
515     /**
516      * Writes out ERROR logging level message to the application error log
517      *
518      * @param errorCodeEnum    code representing the error condition
519      * @param serviceName      name of the API invoked at the logging component
520      * @param targetEntity     name of the ECOMP component or sub-component, or external entity at which the error occurred or null
521      * @param errorDescription a human readable description of the error condition
522      * @param params           optional parameters of a given error description
523      */
524     public void error(EcompLoggerErrorCode errorCodeEnum,
525                       String serviceName,
526                       String targetEntity,
527                       String errorDescription, Object... params) {
528         if (isErrorEnabled()) {
529             error.log(LogLevel.ERROR, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
530         }
531     }
532
533     /**
534      * Writes out WARN logging level message to the application error log
535      *
536      * @param errorCodeEnum    code representing the error condition
537      * @param serviceName      name of the API invoked at the logging component
538      * @param targetEntity     name of the ECOMP component or sub-component, or external entity at which the error occurred or null
539      * @param errorDescription a human readable description of the error condition
540      * @param params           optional parameters of a given error description
541      */
542     public void warn(EcompLoggerErrorCode errorCodeEnum,
543                      String serviceName,
544                      String targetEntity,
545                      String errorDescription, Object... params) {
546         if (isWarnEnabled()) {
547             error.log(LogLevel.WARN, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
548         }
549     }
550
551     /**
552      * Writes out FATAL logging level message to the application error log
553      *
554      * @param errorCodeEnum    code representing the error condition
555      * @param serviceName      name of the API invoked at the logging component
556      * @param targetEntity     name of the ECOMP component or sub-component, or external entity at which the error occurred or null
557      * @param errorDescription a human readable description of the error condition
558      * @param params           optional parameters of a given error description
559      */
560     public void fatal(EcompLoggerErrorCode errorCodeEnum,
561                       String serviceName,
562                       String targetEntity,
563                       String errorDescription, Object... params) {
564         if (isErrorEnabled()) {
565             error.log(LogLevel.FATAL, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
566         }
567     }
568
569
570 }
571