# `Tower.EphemeralReporter`
[🔗](https://github.com/mimiquate/tower/blob/main/lib/tower/ephemeral_reporter.ex#L1)

A very slim and naive built-in reporter, that just stores Tower events as process state.

It keeps only the last 50 events.

Possibly useful for development or testing.

## Example

    iex> Tower.EphemeralReporter.events()
    []
    iex> Application.put_env(:tower, :reporters, [Tower.EphemeralReporter])
    iex> spawn(fn -> 1 / 0 end)
    iex> Process.sleep(200)
    :ok
    iex> [event] = Tower.EphemeralReporter.events()
    iex> event.kind
    :error
    iex> event.reason
    %ArithmeticError{message: "bad argument in arithmetic expression"}
    iex> Tower.EphemeralReporter.reset()

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `events`

```elixir
@spec events() :: [Tower.Event.t()]
```

Returns the list of all stored events.

# `reset`

```elixir
@spec reset() :: :ok
```

# `start_link`

# `stop`

---

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