# `Hephaestus.Telemetry.LogHandler`
[🔗](https://github.com/hephaestus-org/hephaestus_core/blob/v0.3.1/lib/hephaestus/telemetry/log_handler.ex#L1)

A structured Logger handler that attaches to Hephaestus telemetry events
and produces human-readable, grep-friendly log output.

Opt-in via `attach/1`:

    Hephaestus.Telemetry.LogHandler.attach()

## Options

  * `:level` — map of event name to log level override, e.g.
    `%{[:hephaestus, :step, :stop] => :debug}`

  * `:events` — list of event names to handle (default: all from
    `Hephaestus.Telemetry.events/0`)

# `attach`

```elixir
@spec attach(keyword()) :: :ok | {:error, :already_exists}
```

Attaches the log handler to Hephaestus telemetry events.

Returns `:ok` on success, or `{:error, :already_exists}` if already attached.

## Options

  * `:level` — map of event name to log level override
  * `:events` — list of event names to subscribe to (default: all)

# `detach`

```elixir
@spec detach() :: :ok | {:error, :not_found}
```

Detaches the log handler from Hephaestus telemetry events.

Returns `:ok` on success, or `{:error, :not_found}` if not currently attached.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
