More verbose error logging on 500 error
What would be the best way to include a more verbose dump of context for 500 errors? i.e. Context details of the client request including path and query parameters; full stack trace would be even better.

## Current environment

Initializing the app with this startup event:
```
proc setLoggingLevel() =
  addHandler(newConsoleLogger())
  logging.setLogFilter(lvlAll)

let loggerEvent = initEvent(setLoggingLevel)
var app = newApp(settings = settings, startup = @[loggerEvent])
```

## Example log

This is the only error data for the request/response included in the logs, which makes it difficult to debug and reproduce:
```
stdbuf[139540]: DEBUG GET
stdbuf[139540]: ERROR index out of bounds, the container is empty
stdbuf[139540]: DEBUG 500 Internal Server Error {"content-type": @["text/html; charset=UTF-8"]}
```

