Grafana and Loki
Langflow can emit structured JSON logs for ingestion by Grafana Loki.
This page demonstrates how to connect Langflow to the reference Grafana stack shipped with the Langflow repository. For more information, see the README.
To consume structured Langflow logs with other ingestion providers, see Logs.
Prerequisites
- Clone the Langflow repository to access the reference Grafana stack. If you are using your own Grafana and Loki instances, cloning the repository is not required.
- Docker and Docker Compose
Configure environment variables
-
In the root folder of your Langflow application, edit your existing
.envfile or create a new one. -
Add the following environment variables. Replace the placeholders with the values for your deployment:
_10LANGFLOW_LOG_ENV=container_10LANGFLOW_LOG_LEVEL=INFO_10LANGFLOW_LOG_FILE=/var/log/langflow/langflow.log_10LANGFLOW_SERVICE_NAME=langflow_10LANGFLOW_VERSION=1.10.0_10LANGFLOW_ENVIRONMENT=productionSetting
LANGFLOW_LOG_ENV=containerswitches structlog's terminal processor toJSONRenderer, so every line written to stdout is a JSON object containing the event message, level, timestamp, logger name, exception structure, and service metadata. For more information, see Logs.The shipped Promtail configuration scrapes
*.logfiles from a directory rather than stdout.LANGFLOW_LOG_FILEmust point at a file inside the directory that Promtail watches. SetLANGFLOW_LOG_DIRto that same directory so Langflow creates the file in the right place. -
Start the reference Loki + Promtail + Grafana stack from the repository:
_10cd deploy/observability/grafana-loki_10export LANGFLOW_LOG_DIR=/var/log/langflow_10docker compose up -d -
Launch Langflow with your
.envfile:_10uv run langflow run --env-file .env -
Run a flow in Langflow to generate log traffic.
-
Open Grafana at
http://localhost:3000and navigate to Dashboards > Langflow Logs to view structured log output, including panels for structured tracebacks, PII redaction, stdlib library output, and service/environment/version coverage.