Why not just put this in the `when case`?

```ruby
case Exception
  hash['@tags'] << 'error'
  hash['@fields'].merge!(
    error: message.message,
    backtrace: message.backtrace,
    caller: message.backtrace.first
  )
```

Also the caller just being the top of the call stack isn't very interesting.  It would be better if we could find the first match in a list of paths.