public log()

in lib/taskLogger.ts [64:94]


  public log(data: string): void {
    let tag = '[';
    let capabilities = this.task.capabilities;
    tag += (capabilities.logName) ? capabilities.logName :
                                    (capabilities.browserName) ? capabilities.browserName : '';
    tag += (capabilities.version) ? (' ' + capabilities.version) : '';
    tag += (capabilities.platform) ? (' ' + capabilities.platform) : '';
    tag += (capabilities.logName && capabilities.count < 2) ? '' : ' #' + this.task.taskId;
    tag += '] ';

    data = data.toString();
    for (let i = 0; i < data.length; i++) {
      if (this.insertTag) {
        this.insertTag = false;
        // This ensures that the '\x1B[0m' appears before the tag, so that
        // data remains correct when color is not processed.
        // See https://github.com/angular/protractor/pull/1216
        if (data[i] === '\x1B' && data.substring(i, i + 4) === '\x1B[0m') {
          this.buffer += ('\x1B[0m' + tag);
          i += 3;
          continue;
        }

        this.buffer += tag;
      }
      if (data[i] === '\n') {
        this.insertTag = true;
      }
      this.buffer += data[i];
    }
  }