/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.component.execution.api;
import de.rcenvironment.core.utils.common.LogUtils;
/**
* API for sending log output. Currently, the log messages are shown in the workflow console and are also stored in the data management and
* accessible via the workflow data browser.
*
* @author Doreen Seider
*/
public interface ComponentLog {
/**
* Sends a log message containing an stdout message of an integrated tool.
*
* @param message stdout message of a tool
*/
void toolStdout(String message);
/**
* Sends a log message containing an stderr message of an integrated tool.
*
* @param message stderr message of a tool
*/
void toolStderr(String message);
/**
* Send a log message containing an error from a workflow component.
*
* @param message error message of workflow component
*/
void componentError(String message);
/**
* Send a log message containing an error from a workflow component.
*
* @param message error message of workflow component
* @param t cause of the error
* @param errorId unique id that serves a reference to the full-stack trace in the log file - it must be generated by the
* {@link LogUtils} class
*/
void componentError(String message, Throwable t, String errorId);
/**
* Send a log message containing a warning from a workflow component.
*
* @param message warning message of workflow component
*/
void componentWarn(String message);
/**
* Send a log message containing an info from a workflow component.
*
* @param message info message of workflow component
*/
void componentInfo(String message);
}