
org.dkpro.lab.uima.task.impl.UimaLoggingAdapter Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright 2011
* Ubiquitous Knowledge Processing (UKP) Lab
* Technische Universität Darmstadt
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.dkpro.lab.uima.task.impl;
import static java.text.MessageFormat.format;
import static org.apache.uima.internal.util.I18nUtil.localizeMessage;
import java.io.OutputStream;
import java.io.PrintStream;
import org.apache.uima.resource.ResourceManager;
import org.apache.uima.util.Level;
import org.apache.uima.util.Logger;
import org.dkpro.lab.engine.TaskContext;
public class UimaLoggingAdapter
implements Logger
{
private TaskContext taskContext;
private ResourceManager resMgr;
public UimaLoggingAdapter(TaskContext aTaskContext)
{
setTaskContext(aTaskContext);
}
public void setTaskContext(TaskContext aTaskContext)
{
taskContext = aTaskContext;
}
public TaskContext getTaskContext()
{
return taskContext;
}
@Deprecated
@Override
public void log(String aMessage)
{
taskContext.message(aMessage);
}
@Deprecated
@Override
public void log(String aBundleName, String aMsgKey, Object[] aArguments)
{
taskContext.message(localizeMessage(aBundleName, aMsgKey, aArguments,
getExtensionClassLoader()));
}
@Deprecated
@Override
public void logException(Exception aException)
{
taskContext.message(aException.getMessage());
}
@Deprecated
@Override
public void setOutputStream(PrintStream aStream)
{
// Do nothing
}
@Deprecated
@Override
public void setOutputStream(OutputStream aStream)
{
// Do nothing
}
@Override
public void log(Level aLevel, String aMessage)
{
taskContext.message(aMessage);
}
@Override
public void log(Level aLevel, String aMessage, Object aParam1)
{
taskContext.message(format(aMessage, new Object[] { aParam1 }));
}
@Override
public void log(Level aLevel, String aMessage, Object[] aParams)
{
taskContext.message(format(aMessage, aParams));
}
@Override
public void log(Level aLevel, String aMessage, Throwable aThrown)
{
taskContext.message(aMessage + ": " + aThrown.getMessage());
}
@Override
public void logrb(Level aLevel, String aSourceClass, String aSourceMethod, String aBundleName,
String aMsgKey)
{
taskContext.message(localizeMessage(aBundleName, aMsgKey, null, getExtensionClassLoader()));
}
@Override
public void logrb(Level aLevel, String aSourceClass, String aSourceMethod, String aBundleName,
String aMsgKey, Object aParam1)
{
taskContext.message(localizeMessage(aBundleName, aMsgKey, new Object[] { aParam1 },
getExtensionClassLoader()));
}
@Override
public void logrb(Level aLevel, String aSourceClass, String aSourceMethod, String aBundleName,
String aMsgKey, Object[] aParams)
{
taskContext.message(localizeMessage(aBundleName, aMsgKey, aParams,
getExtensionClassLoader()));
}
@Override
public void logrb(Level aLevel, String aSourceClass, String aSourceMethod, String aBundleName,
String aMsgKey, Throwable aThrown)
{
taskContext.message(localizeMessage(aBundleName, aMsgKey, null, getExtensionClassLoader())
+ ": " + aThrown);
}
@Override
public boolean isLoggable(Level aLevel)
{
return true;
}
@Override
public void setLevel(Level aLevel)
{
// Ignore
}
@Override
public void setResourceManager(ResourceManager aResourceManager)
{
resMgr = aResourceManager;
}
private ClassLoader getExtensionClassLoader()
{
if (resMgr == null) {
return null;
}
else {
return resMgr.getExtensionClassLoader();
}
}
@Override
public void log(String aWrapperFQCN, Level aLevel, String aMessage, Throwable aThrown)
{
taskContext.message(aMessage + ": " + aThrown.getMessage());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy