private printOne()

in packages/@aws-cdk/toolkit-lib/lib/private/activity-printer/history.ts [66:103]


  private printOne(activity: StackActivity, progress?: boolean) {
    const event = activity.event;
    const color = colorFromStatusResult(event.ResourceStatus);
    let reasonColor = chalk.cyan;

    let stackTrace = '';
    const metadata = activity.metadata;

    if (event.ResourceStatus && event.ResourceStatus.indexOf('FAILED') !== -1) {
      if (progress == undefined || progress) {
        event.ResourceStatusReason = event.ResourceStatusReason ? this.failureReason(activity) : '';
      }
      if (metadata) {
        stackTrace = metadata.entry.trace ? `\n\t${metadata.entry.trace.join('\n\t\\_ ')}` : '';
      }
      reasonColor = chalk.red;
    }

    const resourceName = metadata ? metadata.constructPath : event.LogicalResourceId || '';
    const logicalId = resourceName !== event.LogicalResourceId ? `(${event.LogicalResourceId}) ` : '';

    this.stream.write(
      util.format(
        '%s | %s%s | %s | %s | %s %s%s%s\n',
        event.StackName,
        progress !== false ? `${activity.progress.formatted} | ` : '',
        new Date(event.Timestamp!).toLocaleTimeString(),
        color(padRight(HistoryActivityPrinter.STATUS_WIDTH, (event.ResourceStatus || '').slice(0, HistoryActivityPrinter.STATUS_WIDTH))), // pad left and trim
        padRight(this.resourceTypeColumnWidth, event.ResourceType || ''),
        color(chalk.bold(resourceName)),
        logicalId,
        reasonColor(chalk.bold(event.ResourceStatusReason ? event.ResourceStatusReason : '')),
        reasonColor(stackTrace),
      ),
    );

    this.lastPrintTime = Date.now();
  }