package sizzle.aggregators;
import java.io.IOException;
import org.apache.log4j.Logger;
/**
* A Sizzle aggregator to log values in a dataset by weight.
*
* @author anthonyu
*
*/
@AggregatorSpec(name = "log", weightType = "string")
public class LogAggregator extends Aggregator {
private static Logger logger = Logger.getLogger(LogAggregator.class);
/** {@inheritDoc} */
@Override
public void aggregate(final String data, final String metadata) throws IOException {
if (metadata.equals("trace"))
LogAggregator.logger.debug(data);
else if (metadata.equals("debug"))
LogAggregator.logger.debug(data);
else if (metadata.equals("info"))
LogAggregator.logger.info(data);
else if (metadata.equals("warn"))
LogAggregator.logger.warn(data);
else if (metadata.equals("error"))
LogAggregator.logger.error(data);
else if (metadata.equals("fatal"))
LogAggregator.logger.fatal(data);
}
/** {@inheritDoc} */
@Override
public boolean isAssociative() {
return true;
}
/** {@inheritDoc} */
@Override
public boolean isCommutative() {
return true;
}
}