/*******************************************************************************
* Copyright (c) 2000, 2003 db4objects, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* David Orme (db4objects) - Initial implementation
******************************************************************************/
package com.swtworkbench.community.xswt.metalogger;
/**
* TeeLogger. A Tee logger logs to two other loggers
*
* @author djo
*/
public class TeeLogger implements ILogger {
private ILogger first;
private ILogger second;
/**
* Construct a TeeLogger on two other loggers.
*
* @param first A delegate logger
* @param second A delegate logger
*/
public TeeLogger(ILogger first, ILogger second) {
this.first = first;
this.second = second;
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#error(java.lang.Throwable, java.lang.String)
*/
public void error(Throwable t, String message) {
first.error(t, message);
second.error(t, message);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#message(java.lang.String)
*/
public void message(String message) {
first.message(message);
second.message(message);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#data(java.lang.String)
*/
public void data(String data) {
first.data(data);
second.data(data);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#debug(java.lang.Class, java.lang.String)
*/
public void debug(Class subject, String message) {
first.debug(subject, message);
second.debug(subject, message);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#isDebug()
*/
public boolean isDebug() {
return first.isDebug() || second.isDebug();
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#setDebug(boolean)
*/
public void setDebug(boolean debugMode) {
first.setDebug(debugMode);
second.setDebug(debugMode);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#setDebug(java.lang.Class, boolean)
*/
public void setDebug(Class subject, boolean enabled) {
first.setDebug(subject, enabled);
second.setDebug(subject, enabled);
}
/* (non-Javadoc)
* @see com.swtworkbench.community.xswt.metalogger.ILogger#isDebug(java.lang.Class)
*/
public boolean isDebug(Class subject) {
return first.isDebug(subject) || second.isDebug(subject);
}
}