/******************************************************************************* * Copyright (c) 2000, 2003 Advanced Systems Concepts, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * David Orme (ASC) - Initial implementation ******************************************************************************/ package com.swtworkbench.community.xswt.metalogger; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.ui.plugin.AbstractUIPlugin; /** * A metalogger plug-in that logs to Eclipse's logging framework * @author daveo */ public class EclipseLogger extends AbstractLogger { /** * Construct an EclipseLogger. * * @param plugin The plugin controlling this logger. */ public EclipseLogger(AbstractUIPlugin plugin) { this.plugin = plugin; } private AbstractUIPlugin plugin; /* (non-Javadoc) * @see com.swtworkbench.swtutils.logger.ILogger#error(java.lang.Throwable, java.lang.String) */ public void error(Throwable t, String message) { plugin.getLog().log(new Status( IStatus.ERROR, plugin.getBundle().getSymbolicName(), IStatus.ERROR, message, t)); } /* (non-Javadoc) * @see com.swtworkbench.swtutils.logger.ILogger#message(java.lang.String) */ public void message(String message) { plugin.getLog().log(new Status( IStatus.WARNING, plugin.getBundle().getSymbolicName(), IStatus.WARNING, message, null)); } /* (non-Javadoc) * @see com.swtworkbench.community.xswt.metalogger.ILogger#data(java.lang.String) */ public void data(String data) { plugin.getLog().log(new Status( IStatus.WARNING, plugin.getBundle().getSymbolicName(), IStatus.WARNING, data, null)); } /* (non-Javadoc) * @see com.swtworkbench.swtutils.logger.ILogger#debug(java.lang.Class, java.lang.String) */ public void debug(Class subject, String message) { if (isDebug(subject)) plugin.getLog().log(new Status( IStatus.INFO, plugin.getBundle().getSymbolicName(), IStatus.INFO, subject.getName() + ": " + message, null)); } }