App Log streaming
Page last updated:
When you bind an application to an instance of an applicable service, Cloud Foundry streams logs for the bound application to the service instance.
- Logs for all apps bound to a log-consuming service instance are streamed to that instance.
- Logs for an app bound to multiple log-consuming service instances are streamed to all instances.
To activate this capability, a service broker must implement the following:
In the catalog endpoint, the broker must include
requires: syslog_drain
. This minor security measure validates that a service returning asyslog_drain_url
in response to the bind operation has also declared that it expects log streaming. If the broker does not includerequires: syslog_drain
, and the bind request returns a value forsyslog_drain_url
, Cloud Foundry returns an error for the bind operation.In response to a bind request, the broker returns a value for
syslog_drain_url
. The syslog URL has a scheme of syslog, syslog-tls, or https and can include a port number. For example:"syslog_drain_url": "syslog://logs.example.com:1234"
How does it work?
- Service broker returns a value for
syslog_drain_url
in response to bind. - Loggregator periodically polls an internal Cloud Controller endpoint for updates.
- Upon discovering a new
syslog_drain_url
, Loggregator identifies the associated app. - Loggregator streams app logs for that app to the locations specified by the service instances’
syslog_drain_url
s.
You can manually configure app logs to be streamed to a location of your choice using user-provided service instances.
For details, see Streaming app logs to log management services.
View the source for this page in GitHub