import { Command } from '../command' ; import { Logger } from '../logger' ; import { FlowController } from './flow-controller' ; /**
 * Logs when commands failed executing, e.g. due to the executable not existing in the system.
 */ export class LogError implements FlowController { private readonly logger : Logger ; constructor ( { logger } ) { this . logger = logger ; } handle ( commands ) { commands . forEach ( command => command . error . subscribe ( event => { this . logger . logCommandEvent ( `Error occurred when executing command: ${ command . command }` , command ) ; const errorText = String ( event instanceof Error ? ( event . stack || event ) : event ) ; this . logger . logCommandEvent ( errorText , command ) ; } ) ) ; return { commands } ; } } ;