Beispiel #1
0
 /**
  * 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.
  *
  * @param event An event with any relevant extra information. Will not be <code>null</code>.
  */
 public void targetStarted(BuildEvent event) {
   Target target = event.getTarget();
   TimedElement targetElement = new TimedElement();
   targetElement.startTime = System.currentTimeMillis();
   targetElement.element = doc.createElement(TARGET_TAG);
   targetElement.element.setAttribute(NAME_ATTR, target.getName());
   targets.put(target, targetElement);
   getStack().push(targetElement);
 }
 /**
  * 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.
  *
  * @param event An event with any relevant extra information. Will not be <code>null</code>.
  */
 public void targetStarted(BuildEvent event) {
   System.out.println("target started in cruise control HeliumCCLogger");
   Target target = event.getTarget();
   TimedElement targetElement = new TimedElement();
   targetElement.startTime = System.currentTimeMillis();
   targetElement.element = doc.createElement(TARGET_TAG);
   targetElement.element.setAttribute(NAME_ATTR, target.getName());
   targets.put(target, targetElement);
   getStack().push(targetElement);
 }
Beispiel #3
0
  /**
   * 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.
   *
   * @param event An event with any relevant extra information. Will not be <code>null</code>.
   */
  public void taskStarted(BuildEvent event) {
    TimedElement taskElement = new TimedElement();
    taskElement.startTime = System.currentTimeMillis();
    taskElement.element = doc.createElement(TASK_TAG);

    Task task = event.getTask();
    String name = event.getTask().getTaskName();
    taskElement.element.setAttribute(NAME_ATTR, name);
    taskElement.element.setAttribute(LOCATION_ATTR, event.getTask().getLocation().toString());
    tasks.put(task, taskElement);
    getStack().push(taskElement);
  }
  /**
   * 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.
   *
   * @param event An event with any relevant extra information. Will not be <code>null</code>.
   */
  public void messageLogged(BuildEvent event) {

    if (buildElement == null) {
      buildElement = new TimedElement();
      buildElement.startTime = System.currentTimeMillis();
      buildElement.element = doc.createElement(BUILD_TAG);
    }
    int priority = event.getPriority();
    if (priority > msgOutputLevel) {
      return;
    }
    Element messageElement = doc.createElement(MESSAGE_TAG);

    String name = "debug";
    switch (event.getPriority()) {
      case MSG_ERR:
        name = "error";
        break;
      case MSG_WARN:
        name = "warn";
        break;
      case MSG_INFO:
        name = "info";
        break;
      default:
        name = "debug";
        break;
    }
    messageElement.setAttribute(PRIORITY_ATTR, name);

    Throwable ex = event.getException();
    if (MSG_DEBUG <= msgOutputLevel && ex != null) {
      Text errText = doc.createCDATASection(StringUtils.getStackTrace(ex));
      Element stacktrace = doc.createElement(STACKTRACE_TAG);
      stacktrace.appendChild(errText);
      buildElement.element.appendChild(stacktrace);
    }
    Text messageText = doc.createCDATASection(event.getMessage());
    messageElement.appendChild(messageText);

    TimedElement parentElement = null;

    Task task = event.getTask();

    Target target = event.getTarget();
    if (task != null) {
      parentElement = getTaskElement(task);
    }
    if (parentElement == null && target != null) {
      parentElement = (TimedElement) targets.get(target);
    }

    /*
     * if (parentElement == null) { Stack threadStack = (Stack)
     * threadStacks.get(Thread.currentThread()); if (threadStack != null) {
     * if (!threadStack.empty()) { parentElement = (TimedElement)
     * threadStack.peek(); } } }
     */

    if (parentElement != null) {
      parentElement.element.appendChild(messageElement);
    } else {
      buildElement.element.appendChild(messageElement);
    }
  }
Beispiel #5
0
 /**
  * Fired when the build starts, this builds the top-level element for the document and remembers
  * the time of the start of the build.
  *
  * @param event Ignored.
  */
 public void buildStarted(BuildEvent event) {
   buildElement = new TimedElement();
   buildElement.startTime = System.currentTimeMillis();
   buildElement.element = doc.createElement(BUILD_TAG);
 }