diff --git a/opencti-platform/opencti-graphql/config/default.json b/opencti-platform/opencti-graphql/config/default.json index 88a24eecf2e3..5157c83b7883 100644 --- a/opencti-platform/opencti-graphql/config/default.json +++ b/opencti-platform/opencti-graphql/config/default.json @@ -7,6 +7,7 @@ "enabled": true, "enabled_ui": true, "enabled_dev_features": [], + "enable_logs_safe_shutdown": false, "https_cert": { "ca": [], "key": null, diff --git a/opencti-platform/opencti-graphql/src/config/conf.js b/opencti-platform/opencti-graphql/src/config/conf.js index 7837bc06500c..2b9dade199b2 100644 --- a/opencti-platform/opencti-graphql/src/config/conf.js +++ b/opencti-platform/opencti-graphql/src/config/conf.js @@ -288,17 +288,23 @@ export const logTelemetry = { }; export function shutdownLoggers() { - const shutdownPromises = [appLogger, auditLogger, supportLogger].map( - (logger) => new Promise( - (resolve) => { - logger - .end() - .on('finish', resolve); - } - ) - ); + const safeShutdown = booleanConf('app:enable_logs_safe_shutdown', false); + + if (safeShutdown) { + const shutdownPromises = [appLogger, auditLogger, supportLogger].map( + (logger) => new Promise( + (resolve) => { + logger + .end() + .on('finish', resolve); + } + ) + ); + + return Promise.all(shutdownPromises); + } - return Promise.all(shutdownPromises); + return Promise.resolve(); } const BasePathConfig = nconf.get('app:base_path')?.trim() ?? '';