diff --git a/lib/launcher.js b/lib/launcher.js index 2c0e5ec..fbfcdf8 100644 --- a/lib/launcher.js +++ b/lib/launcher.js @@ -603,7 +603,13 @@ class Launcher { await this.logAuditEvent('stopped') } else { this.state = States.CRASHED - await this.logAuditEvent('crashed') + // get last 20 lines of log + // NOTE: the log is added to the body in a specific property that should not actually + // be logged but rather extrated and examined to provide better reporting + // NOTE: 20 is typically enough to see the likes of Out Of Memory errors entries + const __launcherLog = this.getLog()?.toArray()?.slice(-20) || [] + const body = { __launcherLog, info: { code, signal, info: 'Node-RED exited with non zero exit code' } } + await this.logAuditEvent('crashed', body) // Only restart if our target state is not stopped if (this.targetState !== States.STOPPED) {