Enable logging in n8n with this simple guide covering setup steps, configuration tips, and best practices for monitoring workflows effectively.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
The short version is: n8n’s logging is controlled entirely by environment variables. You enable or increase logging by setting variables like N8N_LOG_OUTPUT, N8N_LOG_LEVEL, and N8N_LOG_FILE_LOCATION when starting the n8n server (Docker, CLI, or any hosting). There is no “logging UI” inside n8n — it’s done at server level through these env vars.
You enable logging by setting n8n’s built‑in logging environment variables before starting the instance. The most common setup is to enable file logging and set the log level to something more verbose (like debug). For example:
// Example: enable logging when starting n8n manually
export N8N_LOG_OUTPUT=file
export N8N_LOG_FILE_LOCATION=/var/log/n8n.log
export N8N_LOG_LEVEL=debug
n8n start
In Docker you pass these as environment variables:
docker run \
-e N8N_LOG_OUTPUT=file \
-e N8N_LOG_FILE_LOCATION=/home/node/.n8n/n8n.log \
-e N8N_LOG_LEVEL=debug \
-v ~/.n8n:/home/node/.n8n \
-p 5678:5678 \
n8nio/n8n
n8n does not log individual node data by default (that would be huge and unsafe). Instead, it logs operational information: workflow started, finished, errors, internal warnings, API errors, and execution-level events. It’s helpful for debugging production issues like timeouts, credential problems, or unexpected triggers firing.
If you set N8N_LOG_LEVEL=debug, you get very detailed internal logs. Useful during development, but you typically don’t leave this on in production unless investigating an issue.
If you set these environment variables correctly, logging is fully enabled and works consistently across CLI, Docker, and most self‑hosted deployments.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.