diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-02-16 14:37:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-16 14:37:26 +0100 |
commit | 6ea80ba2a22aaeae4f773b28b33168395c5297af (patch) | |
tree | b9e12b6a506b290b124671c33f926902b7f2f45f /streaming | |
parent | 8f537a116802ee39727d8b6c286883b9440ab51a (diff) |
Change streaming server error messages when failing to parse client input (#17559)
Fixes #17541 - prefix JSON parsing error message by “Error parsing message from …” - output user id if a user is logged in, IP address otherwise - reduce log level from error to warning when a user is logged in, and to silly otherwise
Diffstat (limited to 'streaming')
-rw-r--r-- | streaming/index.js | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/streaming/index.js b/streaming/index.js index 47f938b86..3db94b160 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -92,13 +92,18 @@ const numWorkers = +process.env.STREAMING_CLUSTER_NUM || (env === 'development' /** * @param {string} json + * @param {any} req * @return {Object.<string, any>|null} */ -const parseJSON = (json) => { +const parseJSON = (json, req) => { try { return JSON.parse(json); } catch (err) { - log.error(err); + if (req.accountId) { + log.warn(req.requestId, `Error parsing message from user ${req.accountId}: ${err}`); + } else { + log.silly(req.requestId, `Error parsing message from ${req.remoteAddress}: ${err}`); + } return null; } }; @@ -450,7 +455,7 @@ const startWorker = async (workerId) => { */ const createSystemMessageListener = (req, eventHandlers) => { return message => { - const json = parseJSON(message); + const json = parseJSON(message, req); if (!json) return; @@ -573,7 +578,7 @@ const startWorker = async (workerId) => { log.verbose(req.requestId, `Starting stream from ${ids.join(', ')} for ${accountId}`); const listener = message => { - const json = parseJSON(message); + const json = parseJSON(message, req); if (!json) return; @@ -1037,7 +1042,7 @@ const startWorker = async (workerId) => { ws.on('error', onEnd); ws.on('message', data => { - const json = parseJSON(data); + const json = parseJSON(data, session.request); if (!json) return; |