Skip to main content

Logging

The edge controller provides configurable logging to help you monitor its operation and troubleshoot issues.

Log output configuration​

The FOXGLOVE_LOG_OUTPUT environment variable controls where the edge controller writes its logs. Three output modes are available:

ModeOutput destinationBest for
journaldSystem journal (systemd)Production deployments with systemd
jsonJSON-formatted logs to stderrLog aggregation and automated parsing
textHuman-readable logs to stderrDevelopment and manual troubleshooting

Without FOXGLOVE_LOG_OUTPUT, the edge controller writes JSON logs to stderr. The installation guide's environment templates configure journald for the Debian package, and text for the standalone executable and Docker. The Kubernetes chart uses the default.

Viewing logs​

How you access edge controller logs depends on your installation method and log output configuration.

The edge controller writes structured log entries to the system journal. View logs with journalctl:

# View recent logs
journalctl -u foxglove-edge-controller

# Follow logs in real-time
journalctl -u foxglove-edge-controller -f

To export the binary journal (for example, to provide to Foxglove support):

journalctl -u foxglove-edge-controller --since "1 hour ago" -o export > foxglove-edge-controller.journal

Log levels​

The edge controller uses the following log levels, from least to most verbose:

  • error: Critical errors that require attention
  • warn: Warnings about potential issues or degraded operation
  • info: General informational messages about edge controller activity (default)
  • debug: Detailed diagnostic information for troubleshooting

Enabling debug logging​

Set the FOXGLOVE_LOG environment variable to enable debug logging:

FOXGLOVE_LOG=info,edge_controller=debug,recording_store=debug

This configuration sets the log level to debug for the edge controller and its recording catalog, but retains a default log level of info for its other library dependencies.

Debug logging may be useful for:

  • Investigating recording discovery and cataloging issues
  • Troubleshooting upload problems
  • Providing detailed logs when reporting issues to Foxglove support
warning

Don't leave debug logging enabled continuously in production environments, as it can:

  • Generate large log volumes
  • Make it harder to identify important messages
  • Impact performance in high-throughput scenarios

Enable debug logging temporarily when investigating specific issues, then return to the default log level.