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();
}