Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions deploy-apps/streaming-logs.html.md.erb
Original file line number Diff line number Diff line change
Expand Up @@ -146,18 +146,29 @@ For example:

### <a id='health'></a> HEALTH

The Diego Cell emits `HEALTH` logs when running health check actions for an app. These logs are generated by the health check binary that monitors app instances. By default, health check log output is suppressed unless an error occurs.
The Diego Cell emits `HEALTH` logs for health check activity of an app. This inlcudes lifecycle events as well as monitoring start and health-state transitions. By default, the per-probe output of the health check is not logged; the Diego Cell logs health-check lifecycle events such as monitoring start and health-state transitions.

For example:

<pre class="terminal">
2026-01-26T13:49:18.72+0000 [HEALTH/0] OUT Container passed the readiness health check. Container marked ready and added to route pool.
</pre>

### <a id='proxy'></a> PROXY

Every app container includes an Envoy sidecar proxy that handles the mTLS handshake with the Gorouter and proxies traffic to the app process. The Envoy sidecar emits `PROXY` logs. By default, Envoy runs with a critical log level, so `PROXY` logs mainly appear when Envoy encounters critical errors, fails to start, or is killed due to the container running out of memory.
Every app container includes an Envoy sidecar proxy that handles the mTLS handshake with the Gorouter and proxies traffic to the app process. The Envoy sidecar emits `PROXY` logs. By default, Envoy runs with a critical log level, so you rarely see `PROXY` logs. They mainly appear when Envoy encounters a critical error or is killed, such as when the container runs out of memory.

For example:

<pre class="terminal">
2026-01-26T13:49:18.72+0000 [PROXY/0] OUT Exit status 137 (out of memory)
2026-01-26T13:49:18.72+0000 [PROXY/0] OUT Exit status 137
Comment thread
jorbaum marked this conversation as resolved.
</pre>

<p class="note">
<span class="note__title"><strong>Note</strong></span>
You might also see <code>STATS</code> entries in a syslog drain. These are container metrics, not a log type, and only appear when the drain is configured with <code>drain-data=metrics</code> or <code>drain-data=all</code>. Because they are metrics, <code>STATS</code> entries cannot be filtered by source type.
</p>


## <a id='writing'></a> Writing to the log from your app

Expand Down Expand Up @@ -261,4 +272,4 @@ If you are developing a client that displays a stream of <%= vars.app_runtime_ab
<br><br>
By changing the Java log output, you can force your app to reformat stack trace messages, replacing newline
characters with a token. Set your log parsing code to replace that token with newline characters again to display the
logs properly in Kibana.
logs properly in Kibana.
Comment thread
jorbaum marked this conversation as resolved.