diff --git a/libraries/logger/logging-manager.js b/libraries/logger/logging-manager.js index 6a59b242e9..facc75a951 100644 --- a/libraries/logger/logging-manager.js +++ b/libraries/logger/logging-manager.js @@ -149,4 +149,13 @@ const LoggingManager = { LoggingManager.initialize('default-sharelatex') +function handleWarning(err) { + LoggingManager.warn({ err }, 'Warning details') +} + +process.on('warning', handleWarning) +LoggingManager.removeWarningHandler = () => { + process.off('warning', handleWarning) +} + module.exports = LoggingManager diff --git a/libraries/logger/test/unit/logging-manager-tests.js b/libraries/logger/test/unit/logging-manager-tests.js index 146932fd85..378de57345 100644 --- a/libraries/logger/test/unit/logging-manager-tests.js +++ b/libraries/logger/test/unit/logging-manager-tests.js @@ -59,6 +59,10 @@ describe('LoggingManager', function () { this.logger.initializeErrorReporting('test_dsn') }) + afterEach(function () { + this.LoggingManager.removeWarningHandler() + }) + describe('initialize', function () { beforeEach(function () { this.Bunyan.createLogger.reset() diff --git a/services/filestore/app.js b/services/filestore/app.js index 15b5d34f24..0c8bf50d12 100644 --- a/services/filestore/app.js +++ b/services/filestore/app.js @@ -19,17 +19,6 @@ Events.setMaxListeners(20) const app = express() -process.on('warning', warning => { - logger.warn( - { - name: warning.name, - message: warning.message, - stack: warning.stack, - }, - 'Warning details' - ) -}) - app.use(RequestLogger.middleware) if (settings.sentry && settings.sentry.dsn) {