Package org.apache.tools.ant
Class XmlLogger
java.lang.Object
org.apache.tools.ant.XmlLogger
- All Implemented Interfaces:
java.util.EventListener,BuildListener,BuildLogger
public class XmlLogger extends java.lang.Object implements BuildLogger
Generates a file in the current directory with
an XML description of what happened during a build.
The default filename is "log.xml", but this can be overridden
with the property
XmlLogger.file.
This implementation assumes in its sanity checking that only one
thread runs a particular target/task at a time. This is enforced
by the way that parallel builds and antcalls are done - and
indeed all but the simplest of tasks could run into problems
if executed in parallel.- See Also:
Project.addBuildListener(BuildListener)
-
Constructor Summary
Constructors Constructor Description XmlLogger() -
Method Summary
Modifier and Type Method Description voidbuildFinished(BuildEvent event)Fired when the build finishes, this adds the time taken and any error stacktrace to the build element and writes the document to disk.voidbuildStarted(BuildEvent event)Fired when the build starts, this builds the top-level element for the document and remembers the time of the start of the build.voidmessageLogged(BuildEvent event)Fired when a message is logged, this adds a message element to the most appropriate parent element (task, target or build) and records the priority and text of the message.voidsetEmacsMode(boolean emacsMode)Ignore emacs mode, as it has no meaning in XML formatvoidsetErrorPrintStream(java.io.PrintStream err)Ignore error print stream.voidsetMessageOutputLevel(int level)Set the logging level when using this as a LoggervoidsetOutputPrintStream(java.io.PrintStream output)Set the output stream to which logging output is sent when operating as a logger.voidtargetFinished(BuildEvent event)Fired when a target finishes building, this adds the time taken and any error stacktrace to the appropriate target element in the log.voidtargetStarted(BuildEvent event)Fired when a target starts building, this pushes a timed element for the target onto the stack of elements for the current thread, remembering the current time and the name of the target.voidtaskFinished(BuildEvent event)Fired when a task finishes building, this adds the time taken and any error stacktrace to the appropriate task element in the log.voidtaskStarted(BuildEvent event)Fired when a task starts building, this pushes a timed element for the task onto the stack of elements for the current thread, remembering the current time and the name of the task.
-
Constructor Details
-
XmlLogger
public XmlLogger()
-
-
Method Details
-
buildStarted
Fired when the build starts, this builds the top-level element for the document and remembers the time of the start of the build.- Specified by:
buildStartedin interfaceBuildListener- Parameters:
event- Ignored.
-
buildFinished
Fired when the build finishes, this adds the time taken and any error stacktrace to the build element and writes the document to disk.- Specified by:
buildFinishedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getException()
-
targetStarted
Fired when a target starts building, this pushes a timed element for the target onto the stack of elements for the current thread, remembering the current time and the name of the target.- Specified by:
targetStartedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getTarget()
-
targetFinished
Fired when a target finishes building, this adds the time taken and any error stacktrace to the appropriate target element in the log.- Specified by:
targetFinishedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getException()
-
taskStarted
Fired when a task starts building, this pushes a timed element for the task onto the stack of elements for the current thread, remembering the current time and the name of the task.- Specified by:
taskStartedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getTask()
-
taskFinished
Fired when a task finishes building, this adds the time taken and any error stacktrace to the appropriate task element in the log.- Specified by:
taskFinishedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getException()
-
messageLogged
Fired when a message is logged, this adds a message element to the most appropriate parent element (task, target or build) and records the priority and text of the message.- Specified by:
messageLoggedin interfaceBuildListener- Parameters:
event- An event with any relevant extra information. Will not benull.- See Also:
BuildEvent.getMessage(),BuildEvent.getException(),BuildEvent.getPriority()
-
setMessageOutputLevel
public void setMessageOutputLevel(int level)Set the logging level when using this as a Logger- Specified by:
setMessageOutputLevelin interfaceBuildLogger- Parameters:
level- the logging level - seeProjectclass for level definitions
-
setOutputPrintStream
public void setOutputPrintStream(java.io.PrintStream output)Set the output stream to which logging output is sent when operating as a logger.- Specified by:
setOutputPrintStreamin interfaceBuildLogger- Parameters:
output- the output PrintStream.
-
setEmacsMode
public void setEmacsMode(boolean emacsMode)Ignore emacs mode, as it has no meaning in XML format- Specified by:
setEmacsModein interfaceBuildLogger- Parameters:
emacsMode- true if logger should produce emacs compatible output
-
setErrorPrintStream
public void setErrorPrintStream(java.io.PrintStream err)Ignore error print stream. All output will be written to either the XML log file or the PrintStream provided to setOutputPrintStream- Specified by:
setErrorPrintStreamin interfaceBuildLogger- Parameters:
err- the stream we are going to ignore.
-