2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.common.log.wrappers;
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;
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
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;
44 private Logger(org.slf4j.Logger logger) {
46 this.debug = LoggerFactory.getMdcLogger(LoggerDebug.class, logger);
47 this.error = LoggerFactory.getMdcLogger(LoggerError.class, logger);
50 private Logger(String className) {
51 this(org.slf4j.LoggerFactory.getLogger(className));
54 public static Logger getLogger(String className) {
55 return new Logger(className);
58 public static Logger getLogger(Class<?> clazz) {
59 return new Logger(clazz.getName());
63 public boolean isDebugEnabled() {
64 return logger.isDebugEnabled();
68 public String getName() {
69 return logger.getName();
72 public boolean isTraceEnabled() {
73 return logger.isTraceEnabled();
76 public boolean isErrorEnabled() {
77 return logger.isErrorEnabled();
80 public boolean isWarnEnabled() {
81 return logger.isWarnEnabled();
86 /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)} **/
87 public void warn(String msg) {
88 if (isWarnEnabled()) {
89 error.log(LogLevel.WARN, msg);
95 /** Please use method {@link #warn(EcompLoggerErrorCode, String, String)} **/
96 public void warn(String msg, Object o) {
98 if (isWarnEnabled()) {
99 error.log(LogLevel.WARN, msg, o);
103 public boolean isInfoEnabled() {
104 return logger.isInfoEnabled();
108 public void info(String msg) {
109 if (isInfoEnabled()) {
110 error.logInfo(LogLevel.INFO, msg);
115 public void info(String msg, Object o) {
116 if (isInfoEnabled()) {
117 error.logInfo(LogLevel.INFO, msg, o);
122 public void info(String msg, Object o, Object o1) {
123 if (isInfoEnabled()) {
124 error.logInfo(LogLevel.INFO, msg, o, o1);
128 public void debug(String msg, Object... params) {
129 if (isDebugEnabled()) {
130 debug.log(LogLevel.DEBUG, msg, params);
135 public void debug(String msg, Throwable throwable) {
136 if (isDebugEnabled()) {
137 debug.log(LogLevel.DEBUG, msg, throwable);
142 public boolean isDebugEnabled(Marker marker) {
147 public void debug(Marker marker, String msg) {
148 if (isDebugEnabled()) {
149 debug.log(LogLevel.DEBUG, msg);
154 public void debug(Marker marker, String msg, Object o) {
155 if (isDebugEnabled()) {
156 debug.log(LogLevel.DEBUG, msg, o);
161 public void debug(Marker marker, String msg, Object o, Object o1) {
162 if (isDebugEnabled()) {
163 debug.log(LogLevel.DEBUG, msg, o, o1);
168 public void debug(Marker marker, String msg, Object... objects) {
169 if (isDebugEnabled()) {
170 debug.log(LogLevel.DEBUG, msg, objects);
175 public void debug(Marker marker, String msg, Throwable throwable) {
176 if (isDebugEnabled()) {
177 debug.log(LogLevel.DEBUG, msg, throwable);
181 public void debug(String message) {
182 if (isDebugEnabled()) {
183 debug.log(LogLevel.DEBUG, message);
188 public void debug(String msg, Object o) {
189 if (isDebugEnabled()) {
190 debug.log(LogLevel.DEBUG, msg, o);
195 public void debug(String msg, Object o, Object o1) {
196 if (isDebugEnabled()) {
197 debug.log(LogLevel.DEBUG, msg, o, o1);
201 public void trace(String message, Object... params) {
202 if (isTraceEnabled()) {
203 debug.log(LogLevel.TRACE, message, params);
208 public void trace(String msg, Throwable throwable) {
209 if (isTraceEnabled()) {
210 debug.log(LogLevel.TRACE, msg, throwable);
215 public boolean isTraceEnabled(Marker marker) {
220 public void trace(Marker marker, String msg) {
221 if (isTraceEnabled()) {
222 debug.log(LogLevel.TRACE, msg);
227 public void trace(Marker marker, String msg, Object o) {
228 if (isTraceEnabled()) {
229 debug.log(LogLevel.TRACE, msg, o);
234 public void trace(Marker marker, String msg, Object o, Object o1) {
235 if (isTraceEnabled()) {
236 debug.log(LogLevel.TRACE, msg, o, o1);
241 public void trace(Marker marker, String msg, Object... objects) {
242 if (isTraceEnabled()) {
243 debug.log(LogLevel.TRACE, msg, objects);
248 public void trace(Marker marker, String msg, Throwable throwable) {
249 if (isTraceEnabled()) {
250 debug.log(LogLevel.TRACE, msg, throwable);
254 public void trace(String msg) {
255 if (isTraceEnabled()) {
256 debug.log(LogLevel.TRACE, msg);
261 public void trace(String msg, Object o) {
262 if (isTraceEnabled()) {
263 debug.log(LogLevel.TRACE, msg, o);
268 public void trace(String msg, Object o, Object o1) {
269 if (isTraceEnabled()) {
270 debug.log(LogLevel.TRACE, msg, o, o1);
274 public void info(String msg, Object... params) {
275 if (isInfoEnabled()) {
276 error.logInfo(LogLevel.INFO, msg, params);
281 public void info(String msg, Throwable throwable) {
282 if (isInfoEnabled()) {
283 error.logInfo(LogLevel.INFO, msg, throwable);
288 public boolean isInfoEnabled(Marker marker) {
293 public void info(Marker marker, String msg) {
294 if (isInfoEnabled()) {
295 error.logInfo(LogLevel.INFO, msg);
300 public void info(Marker marker, String msg, Object o) {
301 if (isInfoEnabled()) {
302 error.logInfo(LogLevel.INFO, msg, o);
307 public void info(Marker marker, String msg, Object o, Object o1) {
308 if (isInfoEnabled()) {
309 error.logInfo(LogLevel.INFO, msg, o, o1);
314 public void info(Marker marker, String msg, Object... objects) {
315 if (isInfoEnabled()) {
316 error.logInfo(LogLevel.INFO, msg, objects);
321 public void info(Marker marker, String msg, Throwable throwable) {
322 if (isInfoEnabled()) {
323 error.logInfo(LogLevel.INFO, msg, throwable);
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);
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);
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);
354 public boolean isWarnEnabled(Marker marker) {
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);
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);
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);
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);
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);
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);
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);
421 public boolean isErrorEnabled(Marker marker) {
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);
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);
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);
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);
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);
471 /** Please use method {@link #error(EcompLoggerErrorCode, String, String)} **/
472 public void error(String msg) {
473 if (isErrorEnabled()) {
474 error.log(LogLevel.ERROR, msg);
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);
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);
497 * Writes out ERROR logging level message to the application error log
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
505 public void error(EcompErrorConfiguration.EcompErrorSeverity errorLevel,
506 EcompLoggerErrorCode errorCodeEnum,
509 String errorDescription, Object... params) {
510 if (isErrorEnabled()) {
511 error.log(errorLevel, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
516 * Writes out ERROR logging level message to the application error log
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
524 public void error(EcompLoggerErrorCode errorCodeEnum,
527 String errorDescription, Object... params) {
528 if (isErrorEnabled()) {
529 error.log(LogLevel.ERROR, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
534 * Writes out WARN logging level message to the application error log
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
542 public void warn(EcompLoggerErrorCode errorCodeEnum,
545 String errorDescription, Object... params) {
546 if (isWarnEnabled()) {
547 error.log(LogLevel.WARN, errorCodeEnum, serviceName, targetEntity, errorDescription, params);
552 * Writes out FATAL logging level message to the application error log
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
560 public void fatal(EcompLoggerErrorCode errorCodeEnum,
563 String errorDescription, Object... params) {
564 if (isErrorEnabled()) {
565 error.log(LogLevel.FATAL, errorCodeEnum, serviceName, targetEntity, errorDescription, params);