Package org.apache.tools.ant.taskdefs
Class Recorder
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Recorder
- All Implemented Interfaces:
java.lang.Cloneable
,java.util.EventListener
,BuildListener
,SubBuildListener
public class Recorder extends Task implements SubBuildListener
Adds a listener to the current build process that records the
output to a file.
Several recorders can exist at the same time. Each recorder is associated with a file. The filename is used as a unique identifier for the recorders. The first call to the recorder task with an unused filename will create a recorder (using the parameters provided) and add it to the listeners of the build. All subsequent calls to the recorder task using this filename will modify that recorders state (recording or not) or other properties (like logging level).
Some technical issues: the file's print stream is flushed for "finished" events (buildFinished, targetFinished and taskFinished), and is closed on a buildFinished event.
- Since:
- Ant 1.4
- Version:
- 0.5
- See Also:
RecorderEntry
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Recorder.ActionChoices
A list of possible values for thesetAction()
method.static class
Recorder.VerbosityLevelChoices
A list of possible values for thesetLoglevel()
method. -
Field Summary
-
Constructor Summary
Constructors Constructor Description Recorder()
-
Method Summary
Modifier and Type Method Description void
buildFinished(BuildEvent event)
Cleans recorder registry.void
buildStarted(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
execute()
The main execution.protected RecorderEntry
getRecorder(java.lang.String name, Project proj)
Gets the recorder that's associated with the passed in name.void
init()
Overridden so we can add the task as build listener.void
messageLogged(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
setAction(Recorder.ActionChoices action)
Sets the action for the associated recorder entry.void
setAppend(boolean append)
Whether or not the logger should append to a previous file.void
setEmacsMode(boolean emacsMode)
Set emacs mode.void
setLoglevel(Recorder.VerbosityLevelChoices level)
Sets the level to which this recorder entry should log to.void
setName(java.lang.String fname)
Sets the name of the file to log to, and the name of the recorder entry.void
subBuildFinished(BuildEvent event)
Cleans recorder registry, if this is the subbuild the task has been created in.void
subBuildStarted(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
targetFinished(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
targetStarted(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
taskFinished(BuildEvent event)
Empty implementation required by SubBuildListener interface.void
taskStarted(BuildEvent event)
Empty implementation required by SubBuildListener interface.Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Constructor Details
-
Recorder
public Recorder()
-
-
Method Details
-
init
public void init()Overridden so we can add the task as build listener. -
setName
public void setName(java.lang.String fname)Sets the name of the file to log to, and the name of the recorder entry.- Parameters:
fname
- File name of logfile.
-
setAction
Sets the action for the associated recorder entry.- Parameters:
action
- The action for the entry to take: start or stop.
-
setAppend
public void setAppend(boolean append)Whether or not the logger should append to a previous file.- Parameters:
append
- if true, append to a previous file.
-
setEmacsMode
public void setEmacsMode(boolean emacsMode)Set emacs mode.- Parameters:
emacsMode
- if true use emacs mode
-
setLoglevel
Sets the level to which this recorder entry should log to.- Parameters:
level
- the level to set.- See Also:
Recorder.VerbosityLevelChoices
-
execute
The main execution.- Overrides:
execute
in classTask
- Throws:
BuildException
- on error
-
getRecorder
Gets the recorder that's associated with the passed in name. If the recorder doesn't exist, then a new one is created.- Parameters:
name
- the name of the recorderproj
- the current project- Returns:
- a recorder
- Throws:
BuildException
- on error
-
buildStarted
Empty implementation required by SubBuildListener interface.- Specified by:
buildStarted
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
-
subBuildStarted
Empty implementation required by SubBuildListener interface.- Specified by:
subBuildStarted
in interfaceSubBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
-
targetStarted
Empty implementation required by SubBuildListener interface.- Specified by:
targetStarted
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getTarget()
-
targetFinished
Empty implementation required by SubBuildListener interface.- Specified by:
targetFinished
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getException()
-
taskStarted
Empty implementation required by SubBuildListener interface.- Specified by:
taskStarted
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getTask()
-
taskFinished
Empty implementation required by SubBuildListener interface.- Specified by:
taskFinished
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getException()
-
messageLogged
Empty implementation required by SubBuildListener interface.- Specified by:
messageLogged
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getMessage()
,BuildEvent.getException()
,BuildEvent.getPriority()
-
buildFinished
Cleans recorder registry.- Specified by:
buildFinished
in interfaceBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getException()
-
subBuildFinished
Cleans recorder registry, if this is the subbuild the task has been created in.- Specified by:
subBuildFinished
in interfaceSubBuildListener
- Parameters:
event
- ignored.- Since:
- Ant 1.7
- See Also:
BuildEvent.getException()
-