package org.bndtools.utils.log; import org.bndtools.api.ILogger; import org.osgi.framework.ServiceReference; import org.osgi.service.log.LogService; public class LogServiceAdapter implements LogService { private final ILogger delegate; public LogServiceAdapter(ILogger delegate) { this.delegate = delegate; } public void log(int level, String message) { log(null, level, message, null); } public void log(int level, String message, Throwable exception) { log(null, level, message, exception); } @SuppressWarnings("rawtypes") public void log(ServiceReference sr, int level, String message) { log(sr, level, message, null); } @SuppressWarnings("rawtypes") public void log(ServiceReference sr, int level, String message, Throwable exception) { switch (level) { case LogService.LOG_ERROR : delegate.logError(message, exception); break; case LogService.LOG_WARNING : delegate.logWarning(message, exception); break; case LogService.LOG_INFO : delegate.logInfo(message, exception); break; default : delegate.logError("[Unknown level " + level + ", assumed error]" + message, exception); break; } } }