Make WordPress Core

Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#5033 closed enhancement (fixed)

Better error_reporting and a debug mode

Reported by: ozh's profile ozh Owned by:
Milestone: 2.5 Priority: normal
Severity: normal Version:
Component: General Keywords: has-patch 2nd-opinion early
Focuses: Cc:

Description

Following a discussion on wp-hackers in September, here is a proposition for a better error_reporting handling, and an optional debug mode (plugin) developers could activate on a per-blog basis

It would consist of the following:

in wp-settings.php:

if (defined('WPDEBUG') and WPDEBUG == true) {
   error_reporting(E_ALL);
} else {
   error_reporting(E_ALL ^ E_NOTICE);
}

Then, on wp-config.php for developers:

define('WPDEBUG', true);

Attachments (1)

const_wpdebug.diff (597 bytes) - added by ozh 17 years ago.
optional debug mode

Download all attachments as: .zip

Change History (14)

@ozh
17 years ago

optional debug mode

#1 @Nazgul
17 years ago

  • Milestone changed from 2.3.1 to 2.4

See #3155

#2 @santosj
17 years ago

I think it should be:

if (defined('WPPRODUCTION') && ( true == WPPRODUCTION ) ) {
   error_reporting(0);
} else {
   error_reporting(E_ALL);
}

And have in the config.php

WPPRODUCTION = true;

#3 @markjaquith
17 years ago

Santosj,

We can't modify wp-config.php -- so upgraders wouldn't get constant, and would be stuck in debug mode.

#4 @santosj
17 years ago

if (defined('WPDEBUG') && ( true == WPDEBUG) ) {
   error_reporting(E_ALL);
} else {
   error_reporting(0);
}

Oh yeah. Assume Production, unless stated otherwise in config.php.

#5 @g30rg3x
17 years ago

  • Component changed from Optimization to General
  • Keywords debug error_reporting e_all e_notice notice removed
  • Milestone changed from 2.4 to 2.3

+1, but i think this should be consider in the 2.3 release

#6 @foolswisdom
17 years ago

  • Milestone changed from 2.3 to 2.4

#7 @foolswisdom
17 years ago

  • Keywords early added

#8 @darkdragon
17 years ago

It is not my intention to be rude, the code would functionality be the same as it is now but allow those who want to see all errors to see them. However, I think that it should be instead assumed that if there is no WPDEBUG constant in wp-config.php, that the server is production.

In this way, I don't have to keep replacing the E_ALL with "0" each time I upgrade.

#9 @westi
17 years ago

  • Resolution set to fixed
  • Status changed from new to closed

(In [6179]) Enable developers to turn on notices from wp-config.php. Relates #3155. Fixes #5033 props Ozh.

#10 follow-up: @matt
17 years ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

Could we make this have an underscore like almost all other of our defines. We should try to be consistent where possible.

#11 in reply to: ↑ 10 @westi
17 years ago

Replying to matt:

Could we make this have an underscore like almost all other of our defines. We should try to be consistent where possible.

I don't see why not.

It ended up as WPDEBUG as that was in the patch and I only looked at WPLANG when I was in my wp-config.php testing.

Searching the codebase WP_DEBUG makes more sense it seems.

#12 @westi
17 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

(In [6181]) s/WPDEBUG/WP_DEBUG/g Fixes #5033

#13 @docwhat
17 years ago

Shouldn't that be:

  error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);

So that user notices can be used?

Ciao!

Note: See TracTickets for help on using tickets.