-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugsnag shouldn’t report silenced errors #35
Comments
Thanks for the report @gchtr. It's an issue where if you've set an As a temporary fix, you could create a callback function that returns
|
Any news on when bugsnag/bugsnag-php#537 can be made available in |
bugsnag-wordpress will need a fair amount of rework to pull in bugsnag-php v3.x. We don't have a timeframe yet but hope to do this when priorities allow. For the time being the suggested workaround of modifying the behavior in a callback should still work. |
if anyone's interested, i'm using this to at least silence lines that begins with add_action('plugins_loaded', function() {
global $bugsnagWordpress;
if (isset($bugsnagWordpress) && is_callable([$bugsnagWordpress, 'setBeforeNotifyFunction'])) {
try {
// Bugsnag reports PHP warnings for code that is silenced with an @.
// https://github.com/bugsnag/bugsnag-wordpress/issues/35#issuecomment-457130639
$bugsnagWordpress->setBeforeNotifyFunction(function ($report) {
$stacktrace = $report->stacktrace->toArray() ?? null;
if ($stacktrace) {
$line = trim($stacktrace[1]['code'][$stacktrace[1]['lineNumber']] ?? '');
if (strpos($line, '@') === 0) {
return false;
}
}
});
} catch (\BadMethodCallException $e) {
// bugsnag api key probably not set, ignore
}
}
}); |
Expected behavior
When error reporting is set to Warning, then Bugsnag shouldn’t report silenced PHP errors. For example, the following code shouldn’t report a warning:
Observed behavior
Bugsnag reports PHP warnings for code that is silenced with an
@
.Steps to reproduce
I’m not sure, but this logic might be what causes the warning to be reported:
https://github.com/bugsnag/bugsnag-php/blob/e50a26a5535f5e4ffb386a449710f2ce9c050287/src/Configuration.php#L543-L550
PHP’s documentation for error control operators clearly states:
In
shouldIgnoreErrorCode()
, the function might return without checkingerror_reporting()
. So I’m guessing that this is why silenced errors are reported.Version
Bugsnag: 1.3.1
WordPress: 5.0.3
Additional information
Tell me if you need some more information.
The text was updated successfully, but these errors were encountered: