package com.bansheeproject.features;
import org.slf4j.Logger;
import com.bansheeproject.engine.InvocationContext;
import com.bansheeproject.exceptions.InstallFeatureException;
import com.bansheeproject.log.BansheeLogFactory;
import com.bansheeproject.log.BansheeLogger;
/**
* Feature for logging input/output of services.
*
* @author Alexandre Saudate
* @since 1.0
*/
public class LogFeature implements Feature {
private BansheeLogger logger;
private static BansheeLogger bansheeLogger = BansheeLogFactory.getDefaultLogger(LogFeature.class);
public LogFeature(BansheeLogger logger) {
this.logger = logger;
}
public LogFeature(Logger logger) {
this.logger = BansheeLogFactory.getSLF4JLogger(logger);
}
public void install(InvocationContext context)
throws InstallFeatureException {
bansheeLogger.debug("Installing log feature");
context.getDispatcher().setLogger(logger);
}
@Override
public String toString() {
return "Logging Feature";
}
@Override
public boolean equals(Object obj) {
if (obj == null)
return false;
return this.getClass().equals(obj.getClass());
}
}