# `DalaDev.Server.ElixirLogger`
[🔗](https://github.com/manhvu/dala_dev/blob/main/lib/dala_dev/server/elixir_logger.ex#L1)

OTP logger handler that captures Elixir `Logger` output and forwards it
to the Dala dev server dashboard.

Attached by `mix dala.server` after the supervision tree starts, so
`ElixirLogBuffer` and PubSub are guaranteed to be running.

Only captures events with `domain: [:elixir]` — the domain Elixir's Logger
uses for all `Logger.info/debug/warning/error` calls. Raw `:logger` calls
and OTP system messages are excluded.

# `adding_handler`

```elixir
@spec adding_handler(map()) :: {:ok, map()}
```

# `attach`

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

Attach the handler to OTP's logger. Call after the server supervisor starts.

# `detach`

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

Detach the handler.

# `log`

```elixir
@spec log(map(), map()) :: :ok
```

# `removing_handler`

```elixir
@spec removing_handler(map()) :: :ok
```

---

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