Class AppenderBasedStreamMonitor
- java.lang.Object
-
- de.uka.ipd.sdq.workflow.logging.console.AppenderBasedStreamMonitor
-
- All Implemented Interfaces:
IAppenderListener
,IStreamMonitor
public class AppenderBasedStreamMonitor extends Object implements IStreamMonitor, IAppenderListener
Base class of appender monitors. An appender monitor watches its added appenders for newly added log lines. Whenever a new log line arrives at one of the appenders, this monitor sends out an notification event to Eclipse which then updates its GUI or file based logs.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AppenderBasedStreamMonitor.ComparisonOperator
The Enum ComparisonOperator.
-
Constructor Summary
Constructors Constructor Description AppenderBasedStreamMonitor(org.apache.log4j.Level logLevel, AppenderBasedStreamMonitor.ComparisonOperator op)
Base class constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAppender(StreamsProxyAppender appender)
Add an appender of type StreamsProxyAppender to this monitor.void
addListener(IStreamListener listener)
String
getContents()
protected void
notifyListeners(String text)
Helper method which informs all listeners of the newly recorded text.void
removeAppender(StreamsProxyAppender appender)
Removes the appender.void
removeListener(IStreamListener listener)
void
textAddedEvent(String text, org.apache.log4j.Level level)
Event handler method which is called by an appender whenever a new log message arrives.
-
-
-
Constructor Detail
-
AppenderBasedStreamMonitor
public AppenderBasedStreamMonitor(org.apache.log4j.Level logLevel, AppenderBasedStreamMonitor.ComparisonOperator op)
Base class constructor.- Parameters:
logLevel
- the log levelop
- the op
-
-
Method Detail
-
addListener
public void addListener(IStreamListener listener)
- Specified by:
addListener
in interfaceIStreamMonitor
-
removeListener
public void removeListener(IStreamListener listener)
- Specified by:
removeListener
in interfaceIStreamMonitor
-
getContents
public String getContents()
- Specified by:
getContents
in interfaceIStreamMonitor
-
addAppender
public void addAppender(StreamsProxyAppender appender)
Add an appender of type StreamsProxyAppender to this monitor. Whenever you write something to the added appender, this monitor will notify all its listeners of the newly added text if it is responsible for it (depending on the log level, see subclasses of this class)- Parameters:
appender
- A Log4J appender which will be used to write to Eclipse's run console
-
removeAppender
public void removeAppender(StreamsProxyAppender appender)
Removes the appender.- Parameters:
appender
- the appender
-
notifyListeners
protected void notifyListeners(String text)
Helper method which informs all listeners of the newly recorded text.- Parameters:
text
- The new text on one of the Log4J appenders
-
textAddedEvent
public void textAddedEvent(String text, org.apache.log4j.Level level)
Description copied from interface:IAppenderListener
Event handler method which is called by an appender whenever a new log message arrives. The handler can then decide what to do with the new log message- Specified by:
textAddedEvent
in interfaceIAppenderListener
- Parameters:
text
- The formatted log messagelevel
- The log level of the log message used to filter events
-
-