public class XmlLogger extends java.lang.Object implements BuildLogger
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.| Constructor and Description |
|---|
XmlLogger()
Constructs a new BuildListener that logs build events to an XML file.
|
| Modifier and Type | Method and Description |
|---|---|
void |
buildFinished(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.
|
void |
buildStarted(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.
|
void |
messageLogged(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.
|
void |
setEmacsMode(boolean emacsMode)
Ignore emacs mode, as it has no meaning in XML format
|
void |
setErrorPrintStream(java.io.PrintStream err)
Ignore error print stream.
|
void |
setMessageOutputLevel(int level)
Set the logging level when using this as a Logger
|
void |
setOutputPrintStream(java.io.PrintStream output)
Set the output stream to which logging output is sent when operating
as a logger.
|
void |
targetFinished(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.
|
void |
targetStarted(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.
|
void |
taskFinished(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.
|
void |
taskStarted(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.
|
public XmlLogger()
public void buildStarted(BuildEvent event)
buildStarted in interface BuildListenerevent - Ignored.public void buildFinished(BuildEvent event)
buildFinished in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getException()public void targetStarted(BuildEvent event)
targetStarted in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getTarget()public void targetFinished(BuildEvent event)
targetFinished in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getException()public void taskStarted(BuildEvent event)
taskStarted in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getTask()public void taskFinished(BuildEvent event)
taskFinished in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getException()public void messageLogged(BuildEvent event)
messageLogged in interface BuildListenerevent - An event with any relevant extra information.
Will not be null.BuildEvent.getMessage(),
BuildEvent.getException(),
BuildEvent.getPriority()public void setMessageOutputLevel(int level)
setMessageOutputLevel in interface BuildLoggerlevel - the logging level -
see Project
class for level definitionspublic void setOutputPrintStream(java.io.PrintStream output)
setOutputPrintStream in interface BuildLoggeroutput - the output PrintStream.public void setEmacsMode(boolean emacsMode)
setEmacsMode in interface BuildLoggeremacsMode - true if logger should produce emacs compatible
outputpublic void setErrorPrintStream(java.io.PrintStream err)
setErrorPrintStream in interface BuildLoggererr - the stream we are going to ignore.