> This page is for NeMo Relay, version v0.11.1.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.1: https://docs.nvidia.com/nemo/relay/v0.11.1/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Struct Logging Runtime

> Owns logging resources that must remain alive for the process / run lifetime.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
pub struct LoggingRuntime { /* private fields */ }
```

Owns logging resources that must remain alive for the process / run lifetime.

When created by [`LoggingRuntime::configure`](/nemo/relay/v0.11.1/reference/api/rust-library-reference/nemo-relay/logging/struct-loggingruntime), dropping this value flushes sinks and detaches this logger from the process-global spdlog `log` proxy if it is still installed.

## Implementations

### `impl LoggingRuntime`

<pre />

#### `configure`

<pre />

Installs process-wide operational logging from resolved configuration.

Stderr is enabled by default and can be disabled with [`LoggingConfig::stderr_enabled`](/reference/api/rust-library-reference/nemo-relay/logging/struct-loggingconfig). Required file sinks fail initialization if they cannot be opened. Optional sinks are disabled on filesystem opening failures until logging is reinitialized. Dropping the returned runtime flushes sinks and detaches its logger from the process-global `log` proxy when it is still installed. Reuses an already selected diagnostics context. Otherwise, logging uses an inert context without selecting the process default, leaving diagnostics enablement to runtime startup.

#### `configure_with_diagnostics`

<pre />

Installs operational logging with diagnostics owned by an independent diagnostic context.

Sink initialization and delivery failures remain queryable when logging is unavailable or filtered. File sinks use their configured failure policy, matching [`Self::configure`](/reference/api/rust-library-reference/nemo-relay/logging/struct-loggingruntime). Diagnostic events are projected through a detachable subscription. Sink failures update diagnostic state directly without being sent back through the failing logging pipeline. Exhausting diagnostic component or projection budgets does not prevent operational logging from starting; the diagnostic snapshot reports the available evidence and coverage loss. Dropping this runtime detaches the projection before draining sinks.

#### `configure_from_file_path`

<pre />

Loads logging configuration from an absolute TOML path and installs it process-wide.

#### `configure_from_environment`

<pre />

Resolves supported logging environment variables and installs the resulting configuration.

Built-in defaults are used when no logging environment variables are present.

#### `root_relay_id`

<pre />

Returns the process root Relay ID attached to operational records after initialization.

#### `shutdown`

<pre />

Flushes buffered sinks and detaches global proxy wiring by dropping the runtime.

## Trait Implementations

### `impl Drop for LoggingRuntime`

<pre />

#### `drop`

<pre />