This is documentation for the next version of Grafana Alloy Documentation. For the latest stable release, go to the latest version.
logging
logging is an optional configuration block used to customize how Alloy produces log messages.
logging is specified without a label and can only be provided once per configuration file.
Usage
logging {
}Arguments
You can use the following arguments with logging:
level
The following strings are recognized as valid log levels:
"error": Only write logs at the error level."warn": Only write logs at the warn level or above."info": Only write logs at info level or above."debug": Write all logs, including debug level logs.
format
The following strings are recognized as valid log line formats:
"json": Write logs as JSON objects."logfmt": Write logs aslogfmtlines.
write_to
The write_to argument allows Alloy to tee its log entries to one or more loki.* component log receivers in addition to the default location.
This, for example can be the export of a loki.write component to send log entries directly to Loki, or a loki.relabel component to add a certain label first.
destination
The following strings are recognized as valid log destinations:
"stderr": Write logs tostderr."windows_event_log": Windows only. Write logs to the Windows Event Log under the “Alloy” source.
The default value of destination is set to "windows_event_log" when Alloy runs as a Windows service.
Otherwise, destination defaults to "stderr".
Alloy fails to start if destination is set to "windows_event_log" and Alloy is not running on Windows.
Retrieve logs
You can retrieve the logs in different ways depending on your platform and installation method:
Linux:
- If you’re running Alloy with systemd, use
journalctl -u alloy.
Docker:
- If you’re running Alloy in a Docker container, use
docker logs CONTAINER_ID.
macOS:
- If you’re running Alloy with Homebrew as a service, use
brew services info grafana/grafana/alloyto check status andtail -f $(brew --prefix)/var/log/alloy.logfor logs. - If you’re running Alloy with launchd, use
log show --predicate 'process == "alloy"' --infoor check/usr/local/var/log/alloy.log. - If you’re running Alloy in a Docker container, use
docker logs CONTAINER_ID.
Windows:
- If you’re running Alloy as a Windows service, check the Windows Event Viewer under Windows Logs > Application for Alloy-related events.
- If you’re running Alloy that is manually installed, check the log files in
%PROGRAMDATA%\Grafana\Alloy\logs\or the directory specified in your configuration. - If you’re running Alloy in a Docker container, use
docker logs CONTAINER_ID.
All platforms:
- Alloy writes logs to
stderrif started directly without a service manager. Redirectstderrof the Alloy process to a file for logs to persist on disk.
Example
logging {
level = "info"
format = "logfmt"
}

