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