better error reporting

This commit is contained in:
SPRINX0\prochazka
2024-10-01 12:15:22 +02:00
parent 29a66bfcb0
commit ef23b786ac
23 changed files with 99 additions and 69 deletions

View File

@@ -7,6 +7,8 @@ const {
getLogger,
isCompositeDbName,
dbNameLogCategory,
extractErrorMessage,
extractErrorLogData,
} = require('dbgate-tools');
const requireEngineDriver = require('../utility/requireEngineDriver');
const connectUtility = require('../utility/connectUtility');
@@ -34,25 +36,6 @@ function getStatusCounter() {
return statusCounter;
}
function extractErrorMessage(err, defaultMessage) {
if (!err) {
return defaultMessage;
}
if (err.errors) {
try {
return err.errors.map(x => x.message).join('\n');
} catch (e2) {}
}
if (err.message) {
return err.message;
}
const s = `${err}`;
if (s && (!s.endsWith('Error') || s.includes(' '))) {
return s;
}
return defaultMessage;
}
async function checkedAsyncCall(promise) {
try {
const res = await promise;
@@ -261,7 +244,7 @@ async function handleDriverDataCore(msgid, callMethod, { logName }) {
const result = await callMethod(driver);
process.send({ msgtype: 'response', msgid, result });
} catch (err) {
logger.error(err, `Error when handling message ${logName}`);
logger.error(extractErrorLogData(err, { logName }), `Error when handling message ${logName}`);
process.send({ msgtype: 'response', msgid, errorMessage: extractErrorMessage(err, 'Error executing DB data') });
}
}
@@ -436,7 +419,7 @@ function start() {
try {
await handleMessage(message);
} catch (err) {
logger.error({ err }, 'Error in DB connection');
logger.error(extractErrorLogData(err), 'Error in DB connection');
process.send({ msgtype: 'error', error: extractErrorMessage(err, 'Error processing message') });
}
});