Hello, im trying to connect n8n to new relic using log streaming in settings. I have a enterprise license however i am having issues connecting it to webhooks. Would i need a relay/proxy in this case? Or is there a specific way to log stream through webhooks in settings. I’ve already created a error handler workflow that can be used with other workflows ,however i would like it to be global and for all workflows without having to add the handler to a workflow.
Hi! There are two separate questions here, let me address both:
1. Log Streaming to New Relic — Enterprise license requirement
Yes, the built-in Log Streaming feature in n8n Settings is an Enterprise-only feature. It requires an Enterprise license to configure via the UI.
However, if you’re self-hosting, you can work around this by:
- Setting the environment variable
N8N_LOG_LEVEL=info(ordebug) and piping Docker logs directly to New Relic using the New Relic infrastructure agent or Fluent Bit as a log forwarder. New Relic has a Fluent Bit plugin that works great for this. - Example Docker Compose approach: add a Fluent Bit sidecar that tails n8n container logs and ships them to New Relic Logs API (
https://log-api.newrelic.com/log/v1) with your License Key.
This way you get full n8n logs in New Relic without needing the Enterprise log streaming feature.
2. Global Error Handler without adding it to every workflow
Unfortunately, n8n doesn’t have a native “global” error handler that auto-applies to all workflows. But here’s the practical workaround:
- Use workflow templates: create your error handler workflow once, then use the n8n API (
GET /workflows) to loop through all existing workflows and programmatically add the error workflow ID viaPATCH /workflows/{id}— setting thesettings.errorWorkflowfield. - For new workflows, you can use the
n8n.on('workflowCreated')hook (available in self-hosted via custom extensions) or simply make it a team standard. - Another approach: use an Execute Workflow node as a shared sub-workflow for error handling, called from a Try/Catch pattern within each workflow.
Hope this helps! Let me know if you need help setting up the Fluent Bit config or the API-based error workflow assignment.
Hi @raliche, welcome to the n8n community
!
yes, you do need a relay, bc New Relic isn’t a native log streaming destination in n8n.
A workaround that works well is to point the webhook destination to an n8n workflow itself, then use an HTTP Request node to forward the events to New Relic’s Logs API with the Api-Key header, I checked the New Relic docs and they have a dedicated log ingestion endpoint that accepts POST requests with that header. That gives you full control over the payload format.
As for the global error handler: go to Settings > General > Error Workflow and set your existing error handler there, that will make it global for all workflows without having to add it to each one individually.
Thank you for your response Tamy! i should have clarified in my post that my teams wants all workflows to be logged within logstreaming in settings, not necessarily something that will be pointed per individual workflow but for all workflows if that makes sense. In this case would creating a syslog proxy or webhook be the only option? i just want to make sure i exhaust all resources. Also im on version 2.4.4 and do not see a general within the settings?
I wouldn’t use a webhook for Log Streaming, the proxy is a good solution. Since you’re on 2.4.4, the UI structure may differ slightly from the latest documentation screenshots. See if these docs help, otherwise get back to us saying if your environment is self-hosted or cloud.
Unfortunately the error handling requires a workflow to be attached to a certain error handling workflow in order to log which is what we are trying to avoid. Our environment is in the cloud.
Humm, in this case @raliche you don’t have access to the underlying logging layer, and New Relic is not a native log streaming destination, so there’s no built-in way to stream all workflow logs globally to it. If you need centralized logging for everything without attaching an error workflow per flow, the realistic solution is to use a relay or proxy that receives the logs and forwards them to New Relic’s ingestion API. For example, you can deploy a small HTTP relay service, like a Node.js or Python app, that exposes a public endpoint, then in the n8n Log Streaming settings you point the destination to that endpoint so the relay can receive the payload and forward it to New Relic’s log ingestion API using the required API key header.