2  * Copyright © 2016-2018 European Support Limited
 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
 
   5  * you may not use this file except in compliance with the License.
 
   6  * You may obtain a copy of the License at
 
   8  *      http://www.apache.org/licenses/LICENSE-2.0
 
  10  * Unless required by applicable law or agreed to in writing, software
 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13  * See the License for the specific language governing permissions and
 
  14  * limitations under the License.
 
  17 package org.openecomp.sdc.logging.slf4j;
 
  19 import java.util.Objects;
 
  20 import java.util.concurrent.Callable;
 
  21 import org.openecomp.sdc.logging.api.Logger;
 
  22 import org.openecomp.sdc.logging.spi.LoggingServiceProvider;
 
  29 public class SLF4JLoggingServiceProvider implements LoggingServiceProvider {
 
  31     private static final String KEY_CANNOT_BE_NULL = "Key cannot be null";
 
  34     public Logger getLogger(String className) {
 
  35         Objects.requireNonNull(className, "Name cannot be null");
 
  36         return new SLF4JLoggerWrapper(className);
 
  40     public Logger getLogger(Class<?> clazz) {
 
  41         Objects.requireNonNull(clazz, "Class cannot be null");
 
  42         return new SLF4JLoggerWrapper(clazz);
 
  46     public void put(String key, String value) {
 
  47         Objects.requireNonNull(key, KEY_CANNOT_BE_NULL);
 
  52     public String get(String key) {
 
  53         Objects.requireNonNull(key, KEY_CANNOT_BE_NULL);
 
  58     public void remove(String key) {
 
  59         Objects.requireNonNull(key, KEY_CANNOT_BE_NULL);
 
  69     public Runnable copyToRunnable(Runnable runnable) {
 
  70         Objects.requireNonNull(runnable, "Runnable cannot be null");
 
  71         return new MDCRunnableWrapper(runnable);
 
  75     public <V> Callable<V> copyToCallable(Callable<V> callable) {
 
  76         Objects.requireNonNull(callable, "Runnable cannot be null");
 
  77         return new MDCCallableWrapper<>(callable);
 
  81     public String toString() {
 
  82         return this.getClass().getName();