From: Jérôme Benoit Date: Wed, 18 Mar 2026 19:53:19 +0000 (+0100) Subject: fix(ocpp): replace this.constructor.name with moduleName in base class logs X-Git-Tag: ocpp-server@v3.2.0~56 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=442b290129ea93a45c8a842ce868b2443a70caf1;p=e-mobility-charging-stations-simulator.git fix(ocpp): replace this.constructor.name with moduleName in base class logs Minification mangles class names, causing logs like 'ln.responseHandler' instead of 'OCPP20ResponseService.responseHandler' in production builds. Add abstract moduleName property to OCPPResponseService and OCPPIncomingRequestService base classes, implemented by all four subclasses using their file-level moduleName constant. --- diff --git a/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts b/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts index 541351f4..18cf59b7 100644 --- a/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts @@ -158,9 +158,10 @@ const moduleName = 'OCPP16IncomingRequestService' export class OCPP16IncomingRequestService extends OCPPIncomingRequestService { protected readonly csmsName = 'central system' - protected readonly incomingRequestHandlers: Map + protected readonly moduleName = moduleName + protected payloadValidatorFunctions: Map> protected readonly pendingStateBlockedCommands: IncomingRequestCommand[] = [ diff --git a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts index d88a33e0..933d1916 100644 --- a/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts +++ b/src/charging-station/ocpp/1.6/OCPP16ResponseService.ts @@ -82,6 +82,7 @@ export class OCPP16ResponseService extends OCPPResponseService { protected readonly bootNotificationRequestCommand = OCPP16RequestCommand.BOOT_NOTIFICATION protected readonly csmsName = 'central system' + protected readonly moduleName = moduleName protected payloadValidatorFunctions: Map> diff --git a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts index eb30b2f2..2604396b 100644 --- a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts +++ b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts @@ -209,9 +209,10 @@ interface OCPP20StationState { export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { protected readonly csmsName = 'CSMS' - protected readonly incomingRequestHandlers: Map + protected readonly moduleName = moduleName + protected payloadValidatorFunctions: Map> protected readonly pendingStateBlockedCommands: IncomingRequestCommand[] = [ diff --git a/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts b/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts index 2b86919c..67436a98 100644 --- a/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts +++ b/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts @@ -82,6 +82,7 @@ export class OCPP20ResponseService extends OCPPResponseService { protected readonly bootNotificationRequestCommand = OCPP20RequestCommand.BOOT_NOTIFICATION protected readonly csmsName = 'CSMS' + protected readonly moduleName = moduleName protected payloadValidatorFunctions: Map> diff --git a/src/charging-station/ocpp/OCPPIncomingRequestService.ts b/src/charging-station/ocpp/OCPPIncomingRequestService.ts index 40449ef7..0e7dd7ba 100644 --- a/src/charging-station/ocpp/OCPPIncomingRequestService.ts +++ b/src/charging-station/ocpp/OCPPIncomingRequestService.ts @@ -34,6 +34,8 @@ export abstract class OCPPIncomingRequestService extends EventEmitter { IncomingRequestHandler > + protected abstract readonly moduleName: string + protected abstract payloadValidatorFunctions: Map< IncomingRequestCommand, ValidateFunction @@ -107,7 +109,7 @@ export abstract class OCPPIncomingRequestService extends EventEmitter { } catch (error) { // Log logger.error( - `${chargingStation.logPrefix()} ${this.constructor.name}.incomingRequestHandler: Handle incoming request error:`, + `${chargingStation.logPrefix()} ${this.moduleName}.incomingRequestHandler: Handle incoming request error:`, error ) throw error diff --git a/src/charging-station/ocpp/OCPPResponseService.ts b/src/charging-station/ocpp/OCPPResponseService.ts index 5e6966c4..af87bdb9 100644 --- a/src/charging-station/ocpp/OCPPResponseService.ts +++ b/src/charging-station/ocpp/OCPPResponseService.ts @@ -34,6 +34,7 @@ export abstract class OCPPResponseService { protected abstract readonly bootNotificationRequestCommand: RequestCommand protected abstract readonly csmsName: string protected emptyResponseHandler = Constants.EMPTY_FUNCTION + protected abstract readonly moduleName: string protected abstract payloadValidatorFunctions: Map> protected abstract readonly responseHandlers: Map private readonly version: OCPPVersion @@ -82,7 +83,7 @@ export abstract class OCPPResponseService { try { this.validateResponsePayload(chargingStation, commandName, payload) logger.debug( - `${chargingStation.logPrefix()} ${this.constructor.name}.responseHandler: Handling '${commandName}' response` + `${chargingStation.logPrefix()} ${this.moduleName}.responseHandler: Handling '${commandName}' response` ) // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const responseHandler = this.responseHandlers.get(commandName)! @@ -98,11 +99,11 @@ export abstract class OCPPResponseService { )(chargingStation, payload, requestPayload) } logger.debug( - `${chargingStation.logPrefix()} ${this.constructor.name}.responseHandler: '${commandName}' response processed successfully` + `${chargingStation.logPrefix()} ${this.moduleName}.responseHandler: '${commandName}' response processed successfully` ) } catch (error) { logger.error( - `${chargingStation.logPrefix()} ${this.constructor.name}.responseHandler: Handle '${commandName}' response error:`, + `${chargingStation.logPrefix()} ${this.moduleName}.responseHandler: Handle '${commandName}' response error:`, error ) throw error