/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.utils.common.textstream.receivers;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import de.rcenvironment.core.utils.common.textstream.TextOutputReceiver;
/**
* A simple implementation of {@link TextOutputReceiver} that logs all received events to an Apache
* Commons logger, with an optional prefix set through the constructor.
*
* This class is mainly intended for unit/integration test output. The log level is currently
* hard-coded to "debug".
*
* @author Robert Mischke
*
*/
public class LoggingTextOutReceiver implements TextOutputReceiver {
private final Log log = LogFactory.getLog(getClass());
private final String logPrefix;
/**
* @param logPrefix the prefix for all log messages
*/
public LoggingTextOutReceiver(String logPrefix) {
this.logPrefix = logPrefix;
}
@Override
public void onStart() {
log.debug(logPrefix + " -> Started reading");
}
@Override
public void onFinished() {
log.debug(logPrefix + " -> End of Stream");
}
@Override
public void onFatalError(Exception e) {
log.debug(logPrefix + " -> Exception", e);
}
@Override
public void addOutput(String line) {
log.debug(logPrefix + ": " + line);
}
}