We currently discard errors that are suppressed via error_reporting(). That's problematic when debugging, as sometimes those are legitimate errors that are causing the operation to fail. They should be logged with level=DEBUG instead.
Current status
- Logging for suppressed error has worked for years, but goes to the error-json channel instead of error. We want to deprecate that channel so that its messages can be consumed during local development (and by third parties) in a way that is compatible and similar to all other ways we log messages from MediaWiki - not in a custom json format. This will also allow us to remove custom configuration from out Logstash filter in Puppet, which currently exists only for this channel.
- Before we can move message from error-json to error (as level=DEBUG) we first need to have a way to easily configure wgDebugLogGroups (or something like that) on a plain MW install in a way that only puts messages in a given file for a given channel above a given threshold. Thus enabling developers and CI to keep this file limited to important errors. In particular because CI enforces error-free by asserting that error.log stays empty.
- These errors currently log at their original (unsuppressed) severity level, which means they show up in general MediaWiki-Logstash queries for errors, which can be confusing.