diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index a80fdb68ec..e9b1d78e36 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -97,6 +97,7 @@ const isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => { const createStepLogger = ({ task, + step, rootLogger, }: { task: TaskContext; @@ -109,7 +110,7 @@ const createStepLogger = ({ winston.format.colorize(), winston.format.simple(), ), - transports: [new BackstageLoggerTransport(rootLogger, task)], + transports: [new BackstageLoggerTransport(rootLogger, task, step.id)], }); taskLogger.addRedactions(Object.values(task.secrets ?? {})); diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts index c668c4a589..1c413547cb 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/logger.ts @@ -24,6 +24,7 @@ import { Logger, format, createLogger, transports } from 'winston'; import { LEVEL, MESSAGE, SPLAT } from 'triple-beam'; import { TaskContext } from '@backstage/plugin-scaffolder-node'; import _ from 'lodash'; +import { TaskStep } from '@backstage/plugin-scaffolder-common'; /** * Escapes a given string to be used inside a RegExp. @@ -47,6 +48,7 @@ export class BackstageLoggerTransport extends Transport { constructor( private readonly backstageLogger: LoggerService, private readonly taskContext: TaskContext, + private readonly stepId: string, opts?: TransportStreamOptions, ) { super(opts); @@ -79,8 +81,7 @@ export class BackstageLoggerTransport extends Transport { this.backstageLogger.info(String(message), ...splat); } - this.taskContext.emitLog(message, ...splat); - + this.taskContext.emitLog(message, { stepId: this.stepId }); callback(); } }