shoehorn
shoehorn copied to clipboard
Replace gen_event with logger_filter
Elixir 1.15 brought in a lot of changes to logging, particularly around its use of :error_logger. Reports were no longer being received in Shoehorn.ReportHandler. To get around this, we set up a logger_filter that checks for application starts and stop, handles them if necessary, and then lets the other logger filters work as they normally would.
We also make Shoehorn.ReportHandler a GenServer for 2 reasons: 1. To handle the state 2. If the user was to run an Application call in their callback, they will get a crash about a process calling itself. So the call must be done from a separate process because we will get errors about trying to start an application
Lastly, bump up the min Elixir version