All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.project.ttc.tools.UIMASlf4jWrapperLogger Maven / Gradle / Ivy

package eu.project.ttc.tools;

import java.io.OutputStream;
import java.io.PrintStream;

import org.apache.uima.UIMAFramework;
import org.apache.uima.resource.ResourceManager;
import org.apache.uima.util.Level;
import org.apache.uima.util.Logger;
import org.slf4j.LoggerFactory;

public class UIMASlf4jWrapperLogger implements org.apache.uima.util.Logger {
	org.slf4j.Logger slf4jLogger = null;

	private UIMASlf4jWrapperLogger(Class component) {
		this.slf4jLogger = LoggerFactory.getLogger(component);
	}

	public static synchronized Logger getInstance(Class component) {
		return new UIMASlf4jWrapperLogger(component);
	}

	private static UIMASlf4jWrapperLogger defaultLogger = null;

	public static synchronized Logger getInstance() {
		if (defaultLogger == null)
			defaultLogger = new UIMASlf4jWrapperLogger(UIMAFramework.class);
		return defaultLogger;
	}

	@Override
	public void log(String aMessage) {
		this.slf4jLogger.info(aMessage);
	}

	@Override
	public void log(String aResourceBundleName, String aMessageKey, Object[] aArguments) {
		log(org.apache.uima.util.Level.INFO, "[UIMA resource: " + aResourceBundleName + "] " + aMessageKey, aArguments);
	}

	@Override
	public void logException(Exception aException) {
		this.slf4jLogger.error(aException.getMessage(), aException);
	}

	@Override
	public void setOutputStream(PrintStream aStream) {
	}

	@Override
	public void setOutputStream(OutputStream aStream) {
	}

	@Override
	public void log(Level level, String msg) {
		switch (level.toInteger()) {
		case org.apache.uima.util.Level.OFF_INT:
			return;
		case org.apache.uima.util.Level.SEVERE_INT:
			this.slf4jLogger.error(msg);
		case org.apache.uima.util.Level.WARNING_INT:
			this.slf4jLogger.warn(msg);
		case org.apache.uima.util.Level.INFO_INT:
			this.slf4jLogger.info(msg);
		case org.apache.uima.util.Level.CONFIG_INT:
			this.slf4jLogger.debug(msg);
		case org.apache.uima.util.Level.FINE_INT:
			this.slf4jLogger.debug(msg);
		case org.apache.uima.util.Level.FINER_INT:
			this.slf4jLogger.trace(msg);
		case org.apache.uima.util.Level.FINEST_INT:
			this.slf4jLogger.trace(msg);
		default: // for all other cases return Level.ALL
			this.slf4jLogger.trace(msg);
		}
	}

	@Override
	public void log(Level level, String msg, Object param1) {
		switch (level.toInteger()) {
		case org.apache.uima.util.Level.OFF_INT:
			return;
		case org.apache.uima.util.Level.SEVERE_INT:
			this.slf4jLogger.error(msg, param1);
		case org.apache.uima.util.Level.WARNING_INT:
			this.slf4jLogger.warn(msg, param1);
		case org.apache.uima.util.Level.INFO_INT:
			this.slf4jLogger.info(msg, param1);
		case org.apache.uima.util.Level.CONFIG_INT:
			this.slf4jLogger.debug(msg, param1);
		case org.apache.uima.util.Level.FINE_INT:
			this.slf4jLogger.debug(msg, param1);
		case org.apache.uima.util.Level.FINER_INT:
			this.slf4jLogger.trace(msg, param1);
		case org.apache.uima.util.Level.FINEST_INT:
			this.slf4jLogger.trace(msg, param1);
		default: // for all other cases return Level.ALL
			this.slf4jLogger.trace(msg, param1);
		}
	}

	@Override
	public void log(Level level, String msg, Object[] params) {
		switch (level.toInteger()) {
		case org.apache.uima.util.Level.OFF_INT:
			return;
		case org.apache.uima.util.Level.SEVERE_INT:
			this.slf4jLogger.error(msg, params);
		case org.apache.uima.util.Level.WARNING_INT:
			this.slf4jLogger.warn(msg, params);
		case org.apache.uima.util.Level.INFO_INT:
			this.slf4jLogger.info(msg, params);
		case org.apache.uima.util.Level.CONFIG_INT:
			this.slf4jLogger.debug(msg, params);
		case org.apache.uima.util.Level.FINE_INT:
			this.slf4jLogger.debug(msg, params);
		case org.apache.uima.util.Level.FINER_INT:
			this.slf4jLogger.trace(msg, params);
		case org.apache.uima.util.Level.FINEST_INT:
			this.slf4jLogger.trace(msg, params);
		default: // for all other cases return Level.ALL
			this.slf4jLogger.trace(msg, params);
		}
	}

	@Override
	public void log(Level level, String msg, Throwable throwable) {
		switch (level.toInteger()) {
		case org.apache.uima.util.Level.OFF_INT:
			return;
		case org.apache.uima.util.Level.SEVERE_INT:
			this.slf4jLogger.error(msg, throwable);
		case org.apache.uima.util.Level.WARNING_INT:
			this.slf4jLogger.warn(msg, throwable);
		case org.apache.uima.util.Level.INFO_INT:
			this.slf4jLogger.info(msg, throwable);
		case org.apache.uima.util.Level.CONFIG_INT:
			this.slf4jLogger.debug(msg, throwable);
		case org.apache.uima.util.Level.FINE_INT:
			this.slf4jLogger.debug(msg, throwable);
		case org.apache.uima.util.Level.FINER_INT:
			this.slf4jLogger.trace(msg, throwable);
		case org.apache.uima.util.Level.FINEST_INT:
			this.slf4jLogger.trace(msg, throwable);
		default: // for all other cases return Level.ALL
			this.slf4jLogger.trace(msg, throwable);
		}
	}

	@Override
	public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey) {
		log(level, String.format("[sourceMethod: %s] %s", sourceClass, sourceMethod,
				bundleName, msgKey));
	}

	@Override
	public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey,
			Object param1) {
		log(level, String.format("[sourceClass: %s, sourceMethod: %s, bundleName: %s] %s", sourceClass, sourceMethod,
				bundleName, msgKey), param1);
	}

	@Override
	public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey,
			Object[] params) {
		log(level, String.format("[sourceClass: %s, sourceMethod: %s, bundleName: %s] %s", sourceClass, sourceMethod,
				bundleName, msgKey), params);
	}

	@Override
	public void logrb(Level level, String sourceClass, String sourceMethod, String bundleName, String msgKey,
			Throwable thrown) {
		log(level, String.format("[sourceClass: %s, sourceMethod: %s, bundleName: %s] %s", sourceClass, sourceMethod,
				bundleName, msgKey), thrown);

	}

	@Override
	public void log(String wrapperFQCN, Level level, String msg, Throwable throwable) {
		log(level, msg, throwable);
	}

	@Override
	public boolean isLoggable(Level level) {
		return true;
	}

	@Override
	public void setLevel(Level level) {
	}

	@Override
	public void setResourceManager(ResourceManager resourceManager) {
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy