Better RLEH logic for error wraps; ability to hide "Starting..." message
This commit is contained in:
		
							parent
							
								
									be32976498
								
							
						
					
					
						commit
						a93cd6d192
					
				@ -54,6 +54,8 @@ export class Application extends Container {
 | 
			
		||||
    protected applicationUnits: (typeof Unit)[] = []
 | 
			
		||||
    protected instantiatedUnits: Unit[] = []
 | 
			
		||||
 | 
			
		||||
    public forceStartupMessage: boolean = true
 | 
			
		||||
 | 
			
		||||
    constructor() {
 | 
			
		||||
        super()
 | 
			
		||||
 | 
			
		||||
@ -70,6 +72,10 @@ export class Application extends Container {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public hasUnit(unitClass: typeof Unit) {
 | 
			
		||||
        return this.applicationUnits.includes(unitClass)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    get root() {
 | 
			
		||||
        return this.basePath.concat()
 | 
			
		||||
    }
 | 
			
		||||
@ -150,7 +156,7 @@ export class Application extends Container {
 | 
			
		||||
    async up() {
 | 
			
		||||
        const logging: Logging = this.make<Logging>(Logging)
 | 
			
		||||
 | 
			
		||||
        logging.info('Starting Extollo...', true)
 | 
			
		||||
        logging.info('Starting Extollo...', this.forceStartupMessage)
 | 
			
		||||
        for ( const unitClass of this.applicationUnits ) {
 | 
			
		||||
            const unit: Unit = this.make<Unit>(unitClass)
 | 
			
		||||
            this.instantiatedUnits.push(unit)
 | 
			
		||||
@ -161,8 +167,8 @@ export class Application extends Container {
 | 
			
		||||
    async down() {
 | 
			
		||||
        const logging: Logging = this.make<Logging>(Logging)
 | 
			
		||||
 | 
			
		||||
        logging.info('Stopping Extollo...', true)
 | 
			
		||||
        for ( const unit of this.instantiatedUnits ) {
 | 
			
		||||
        logging.info('Stopping Extollo...', this.forceStartupMessage)
 | 
			
		||||
        for ( const unit of [...this.instantiatedUnits].reverse() ) {
 | 
			
		||||
            if ( !unit ) continue
 | 
			
		||||
            await this.stopUnit(unit)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -27,6 +27,7 @@ export class RunLevelErrorHandler {
 | 
			
		||||
        const error = new ErrorWithContext(e.message)
 | 
			
		||||
        error.originalError = e
 | 
			
		||||
        error.context = context
 | 
			
		||||
        error.stack = e.stack
 | 
			
		||||
        return error
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -51,9 +52,9 @@ ${color.bgRed('                                ')}
 | 
			
		||||
${color.bgRed('    UNCAUGHT RUN-LEVEL ERROR    ')}
 | 
			
		||||
${color.bgRed('                                ')}
 | 
			
		||||
 | 
			
		||||
${e.constructor ? e.constructor.name : e.name}
 | 
			
		||||
${operativeError.constructor ? operativeError.constructor.name : operativeError.name}
 | 
			
		||||
${color.red(`---------------------------------------------------`)}
 | 
			
		||||
${e.stack}
 | 
			
		||||
${operativeError.stack}
 | 
			
		||||
`
 | 
			
		||||
 | 
			
		||||
            if ( contextDisplay ) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user