mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 19:32:15 +00:00
feat(API): Set up error tracking using Sentry (#4394)
* feat(cli): Setup error tracking using Sentry * make error reporting available in the workflows package * address some of the PR comments * create a ErrorReporterProxy like LoggerProxy * remove the `captureError` helper. use ErrorReporterProxy directly * fix linting issues * remove ErrorReporterProxy warnings in tests * check for NODE_ENV === 'production' instead * IErrorReporter -> ErrorReporter * ErrorReporterProxy.getInstance() -> ErrorReporter * allow capturing stacks in warnings as well * make n8n debugging consistent with `npm start` * IReportingOptions -> ReportingOptions * use consistent signature for `error` and `warn` * use Logger instead of console.log
This commit is contained in:
committed by
GitHub
parent
0edd4bcc87
commit
41cb0eec6e
@@ -32,6 +32,7 @@ import {
|
||||
IWorkflowExecuteHooks,
|
||||
IWorkflowHooksOptionalParameters,
|
||||
IWorkflowSettings,
|
||||
ErrorReporterProxy as ErrorReporter,
|
||||
LoggerProxy as Logger,
|
||||
SubworkflowOperationError,
|
||||
Workflow,
|
||||
@@ -162,7 +163,8 @@ export function executeErrorWorkflow(
|
||||
user,
|
||||
);
|
||||
})
|
||||
.catch((error) => {
|
||||
.catch((error: Error) => {
|
||||
ErrorReporter.error(error);
|
||||
Logger.error(
|
||||
`Could not execute ErrorWorkflow for execution ID ${this.executionId} because of error querying the workflow owner`,
|
||||
{
|
||||
@@ -219,8 +221,9 @@ function pruneExecutionData(this: WorkflowHooks): void {
|
||||
}, timeout * 1000),
|
||||
)
|
||||
.catch((error) => {
|
||||
throttling = false;
|
||||
ErrorReporter.error(error);
|
||||
|
||||
throttling = false;
|
||||
Logger.error(
|
||||
`Failed pruning execution data from database for execution ID ${this.executionId} (hookFunctionsSave)`,
|
||||
{
|
||||
@@ -451,6 +454,7 @@ export function hookFunctionsPreExecute(parentProcessMode?: string): IWorkflowEx
|
||||
flattenedExecutionData as IExecutionFlattedDb,
|
||||
);
|
||||
} catch (err) {
|
||||
ErrorReporter.error(err);
|
||||
// TODO: Improve in the future!
|
||||
// Errors here might happen because of database access
|
||||
// For busy machines, we may get "Database is locked" errors.
|
||||
@@ -511,6 +515,7 @@ function hookFunctionsSave(parentProcessMode?: string): IWorkflowExecuteHooks {
|
||||
newStaticData,
|
||||
);
|
||||
} catch (e) {
|
||||
ErrorReporter.error(e);
|
||||
Logger.error(
|
||||
`There was a problem saving the workflow with id "${this.workflowData.id}" to save changed staticData: "${e.message}" (hookFunctionsSave)`,
|
||||
{ executionId: this.executionId, workflowId: this.workflowData.id },
|
||||
@@ -629,6 +634,7 @@ function hookFunctionsSave(parentProcessMode?: string): IWorkflowExecuteHooks {
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
ErrorReporter.error(error);
|
||||
Logger.error(`Failed saving execution data to DB on execution ID ${this.executionId}`, {
|
||||
executionId: this.executionId,
|
||||
workflowId: this.workflowData.id,
|
||||
@@ -676,6 +682,7 @@ function hookFunctionsSaveWorker(): IWorkflowExecuteHooks {
|
||||
newStaticData,
|
||||
);
|
||||
} catch (e) {
|
||||
ErrorReporter.error(e);
|
||||
Logger.error(
|
||||
`There was a problem saving the workflow with id "${this.workflowData.id}" to save changed staticData: "${e.message}" (workflowExecuteAfter)`,
|
||||
{ sessionId: this.sessionId, workflowId: this.workflowData.id },
|
||||
|
||||
Reference in New Issue
Block a user