blob: fafebad13d9628d82fc6f51d3b7fce3025ee543f [file] [log] [blame]
/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.winegrower.service;
import org.osgi.framework.Bundle;
import org.osgi.service.log.FormatterLogger;
import org.osgi.service.log.Logger;
import org.osgi.service.log.LoggerConsumer;
import org.osgi.service.log.LoggerFactory;
public class Slf4jOSGiLoggerFactory implements LoggerFactory {
@Override
public Logger getLogger(final String s) {
return new Slf4jLogger(org.slf4j.LoggerFactory.getLogger(s));
}
@Override
public Logger getLogger(final Class<?> aClass) {
return getLogger(aClass.getName());
}
@Override
public <L extends Logger> L getLogger(final String s, final Class<L> aClass) {
return aClass.cast(getLogger(s));
}
@Override
public <L extends Logger> L getLogger(final Class<?> aClass, final Class<L> aClass1) {
return aClass1.cast(getLogger(aClass.getName()));
}
@Override
public <L extends Logger> L getLogger(final Bundle bundle, final String s, final Class<L> aClass) {
return aClass.cast(getLogger(s));
}
private static class Slf4jLogger implements FormatterLogger {
private final org.slf4j.Logger delegate;
private Slf4jLogger(final org.slf4j.Logger logger) {
this.delegate = logger;
}
@Override
public String getName() {
return delegate.getName();
}
@Override
public boolean isTraceEnabled() {
return delegate.isTraceEnabled();
}
@Override
public void trace(final String message) {
delegate.trace(message);
}
@Override
public void trace(final String format, final Object arg) {
delegate.trace(format, arg);
}
@Override
public void trace(final String format, final Object arg1, final Object arg2) {
delegate.trace(format, arg1, arg2);
}
@Override
public void trace(final String format, final Object... arguments) {
delegate.trace(format, arguments);
}
@Override
public <E extends Exception> void trace(final LoggerConsumer<E> consumer) throws E {
if (delegate.isTraceEnabled()) {
consumer.accept(this);
}
}
@Override
public boolean isDebugEnabled() {
return delegate.isDebugEnabled();
}
@Override
public void debug(final String message) {
delegate.debug(message);
}
@Override
public void debug(final String format, final Object arg) {
delegate.debug(format, arg);
}
@Override
public void debug(final String format, final Object arg1, final Object arg2) {
delegate.debug(format, arg1, arg2);
}
@Override
public void debug(final String format, final Object... arguments) {
delegate.debug(format, arguments);
}
@Override
public <E extends Exception> void debug(final LoggerConsumer<E> consumer) throws E {
if (isDebugEnabled()) {
consumer.accept(this);
}
}
@Override
public boolean isInfoEnabled() {
return delegate.isInfoEnabled();
}
@Override
public void info(final String message) {
delegate.info(message);
}
@Override
public void info(final String format, final Object arg) {
delegate.info(format, arg);
}
@Override
public void info(final String format, final Object arg1, final Object arg2) {
delegate.info(format, arg1, arg2);
}
@Override
public void info(final String format, final Object... arguments) {
delegate.info(format, arguments);
}
@Override
public <E extends Exception> void info(final LoggerConsumer<E> consumer) throws E {
if (isInfoEnabled()) {
consumer.accept(this);
}
}
@Override
public boolean isWarnEnabled() {
return delegate.isWarnEnabled();
}
@Override
public void warn(final String message) {
delegate.warn(message);
}
@Override
public void warn(final String format, final Object arg) {
delegate.warn(format, arg);
}
@Override
public void warn(final String format, final Object arg1, final Object arg2) {
delegate.warn(format, arg1, arg2);
}
@Override
public void warn(final String format, final Object... arguments) {
delegate.warn(format, arguments);
}
@Override
public <E extends Exception> void warn(final LoggerConsumer<E> consumer) throws E {
if (isWarnEnabled()) {
consumer.accept(this);
}
}
@Override
public boolean isErrorEnabled() {
return delegate.isErrorEnabled();
}
@Override
public void error(final String message) {
delegate.error(message);
}
@Override
public void error(final String format, final Object arg) {
delegate.error(format, arg);
}
@Override
public void error(final String format, final Object arg1, final Object arg2) {
delegate.error(format, arg1, arg2);
}
@Override
public void error(final String format, final Object... arguments) {
delegate.error(format, arguments);
}
@Override
public <E extends Exception> void error(final LoggerConsumer<E> consumer) throws E {
if (isErrorEnabled()) {
consumer.accept(this);
}
}
@Override
public void audit(final String message) {
delegate.info(message);
}
@Override
public void audit(final String format, final Object arg) {
delegate.info(format, arg);
}
@Override
public void audit(final String format, final Object arg1, final Object arg2) {
delegate.info(format, arg1, arg2);
}
@Override
public void audit(final String format, final Object... arguments) {
delegate.info(format, arguments);
}
}
}