Replace gen_event with logger_filter #138
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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