debugging and error reporting level fixes and improvements MDL-6671

This commit is contained in:
skodak 2006-09-23 09:38:39 +00:00
parent b8547480b7
commit 7eb0b60a1f
16 changed files with 69 additions and 41 deletions

View File

@ -105,7 +105,7 @@
if (! $maintables) {
/// hide errors from headers in case debug enabled in config.php
$origdebug = $CFG->debug;
$CFG->debug = 5;
$CFG->debug = DEBUG_MINIMAL;
error_reporting($CFG->debug);
if (empty($agreelicence)) {
$strlicense = get_string("license");
@ -208,7 +208,7 @@
// hide errors from headers in case debug is enabled
$origdebug = $CFG->debug;
$CFG->debug = 5;
$CFG->debug = DEBUG_MINIMAL;
error_reporting($CFG->debug);
// logout in case we are upgrading from pre 1.7 version - prevention of weird session problems

View File

@ -14,7 +14,7 @@
require_once($CFG->dirroot . "/enrol/ldap/enrol.php");
// ensure errors are well explained
$CFG->debug = E_NOTICE;
$CFG->debug = DEBUG_NORMAL;
// update enrolments -- these handlers should autocreate courses if required
$enrol = new enrolment_plugin_ldap();

View File

@ -15,10 +15,8 @@
$lifetime = $CFG->filelifetime;
}
// remove moodle specific debug messages by switching the sign bit in error level bitmask
if ($CFG->debug > 0) {
$CFG->debug = $CFG->debug | 0x80000000;
}
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('file.php');
$forcedownload = optional_param('forcedownload', 0, PARAM_BOOL);

View File

@ -16,6 +16,9 @@
}
}
// disable moodle specific debug messages
disable_debugging();
require_once($CFG->libdir.'/filelib.php');
$CFG->texfilterdir = 'filter/tex';

View File

@ -16,6 +16,9 @@
}
}
// disable moodle specific debug messages
disable_debugging();
require_once($CFG->libdir.'/filelib.php');
require_once('defaultsettings.php' );
require_once('latex.php');

View File

@ -144,7 +144,7 @@ $string['sessiontimeout'] = 'Timeout';
$string['sessioncookie'] = 'Cookie prefix';
$string['sessioncookiepath'] = 'Cookie path';
$string['enablerssfeeds'] = 'Enable RSS feeds';
$string['debug'] = 'Debug notices';
$string['debug'] = 'Debug messages';
$string['perfdebug'] = 'Performance info';
$string['enablestats'] = 'Enable statistics';
$string['statsfirstrun'] = 'Maximum processing interval';
@ -304,13 +304,11 @@ $string['dbmigratewarning2'] = '<b>Warning: You are about to start the database
$string['dbmigrateconnecerror'] = 'Could not connect to the database specified.';
$string['dbmigrateencodingerror'] = 'The database specified has encoding $a rather than required UNICODE/UTF8.<br />Please specify another.';
$string['dbmigratepostgres'] = 'It seems that you are using PostgreSQL as the database server. To continue the migration process you need to manually create a new database with encoding \"UNICODE\"(PostgreSQL 7) or \"UTF8\" (PostgreSQL 8) to store the migrated data. Please enter your new database connection settings below to continue:';
$string['debugnone'] = 'Do not show any debugging notices';
$string['debugerror'] = 'E_ERROR: Show only fatal errors';
$string['debugwarning'] = 'E_WARNING: show only serious warnings';
$string['debugparse'] = 'E_PARSE: show parsing errors';
$string['debugnotice'] = 'E_NOTICE: show informational notices';
$string['debugall'] = 'E_ALL: show all reasonable feedback';
$string['debugstrict'] = 'E_STRICT: show absolutely everything, even very minor errors';
$string['debugnone'] = 'NONE: Do not show any errors or warnings';
$string['debugminimal'] = 'MINIMAL: Show only fatal errors';
$string['debugnormal'] = 'NORMAL: Show errors, warnings and notices';
$string['debugall'] = 'ALL: Show all reasonable PHP debug messages';
$string['debugdeveloper'] = 'DEVELOPER: extra Moodle debug messages for developers';
$string['density'] = 'Density';
$string['download'] = 'Download';
$string['edithelpdocs'] = 'Edit help documents';

View File

@ -419,7 +419,7 @@ function capability_search($capability, $context, $capabilities) {
global $USER, $CFG;
if (isset($capabilities[$context->id][$capability])) {
debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], E_ALL);
debugging("Found $capability in context $context->id at level $context->contextlevel: ".$capabilities[$context->id][$capability], DEBUG_DEVELOPER);
return ($capabilities[$context->id][$capability]);
}
@ -481,7 +481,7 @@ function capability_search($capability, $context, $capabilities) {
error ('This is an unknown context!');
return false;
}
debugging("Found $capability recursively from context $context->id at level $context->contextlevel: $permission", E_ALL);
debugging("Found $capability recursively from context $context->id at level $context->contextlevel: $permission", DEBUG_DEVELOPER);
return $permission;
}
@ -1361,7 +1361,7 @@ function get_roles_with_capability($capability, $permission=NULL, $context='') {
function role_assign($roleid, $userid, $groupid, $contextid, $timestart=0, $timeend=0, $hidden=0, $enrol='manual') {
global $USER, $CFG;
debugging("Assign roleid $roleid userid $userid contextid $contextid", E_ALL);
debugging("Assign roleid $roleid userid $userid contextid $contextid", DEBUG_DEVELOPER);
/// Do some data validation
@ -2765,4 +2765,4 @@ function get_users_from_role_on_context($role, $context) {
AND roleid = $role->id");
}
?>
?>

View File

@ -2137,13 +2137,11 @@ class admin_setting_special_debug extends admin_setting_configselect {
$name = 'debug';
$visiblename = get_string('debug', 'admin');
$description = get_string('configdebug', 'admin');
$choices = array( 0 => get_string('debugnone', 'admin'),
E_ERROR => get_string('debugerror', 'admin'),
E_WARNING => get_string('debugwarning', 'admin'),
E_PARSE => get_string('debugparse', 'admin'),
E_NOTICE => get_string('debugnotice', 'admin'),
E_ALL => get_string('debugall', 'admin'),
2048 => get_string('debugstrict', 'admin') // E_STRICT is php5 only
$choices = array( DEBUG_NONE => get_string('debugnone', 'admin'),
DEBUG_MINIMAL => get_string('debugminimal', 'admin'),
DEBUG_NORMAL => get_string('debugnormal', 'admin'),
DEBUG_ALL => get_string('debugall', 'admin'),
DEBUG_DEVELOPER => get_string('debugdeveloper', 'admin')
);
parent::admin_setting_configselect($name, $visiblename, $description, '', $choices);
}
@ -2151,12 +2149,6 @@ class admin_setting_special_debug extends admin_setting_configselect {
function get_setting() {
global $CFG;
if (isset($CFG->debug)) {
if ($CFG->debug == 7) { // Old values
return 1;
}
if ($CFG->debug == 15) { // Old values
return 16;
}
return $CFG->debug;
} else {
return NULL;

View File

@ -213,6 +213,17 @@ define('PARAM_SEQUENCE', 0x8000);
*/
define('PAGE_COURSE_VIEW', 'course-view');
/// Debug levels ///
/** no warnings at all */
define ('DEBUG_NONE', 0);
/** E_ERROR | E_PARSE */
define ('DEBUG_MINIMAL', 5);
/** E_ERROR | E_PARSE | E_WARNING | E_NOTICE */
define ('DEBUG_NORMAL', 15);
/** E_ALL without E_STRICT and E_RECOVERABLE_ERROR for now */
define ('DEBUG_ALL', 2047);
/** DEBUG_ALL with extra Moodle debug messages - (DEBUG_ALL | 32768) */
define ('DEBUG_DEVELOPER', 34815);
/// PARAMETER HANDLING ////////////////////////////////////////////////////
@ -6698,4 +6709,4 @@ function loadeditor($args) {
// vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140:
?>
?>

View File

@ -255,7 +255,7 @@ global $HTTPSPAGEREQUIRED;
/// Set error reporting back to normal
if ($originaldatabasedebug == -1) {
$CFG->debug = E_PARSE;
$CFG->debug = DEBUG_MINIMAL;
} else {
$CFG->debug = $originaldatabasedebug;
}

View File

@ -5341,19 +5341,19 @@ function page_doc_link($text='', $iconpath='') {
}
/**
* Returns true if the current site debugging settings are equal
* to the specified level: E_NOTICE, E_ALL, E_STRICT etc
* Returns true if the current site debugging settings are equal or above specified level.
* eg use like this:
*
* 1) debugging('a normal notice');
* 2) debugging('something really picky', E_STRICT);
* 3) if (debugging()) { echo "a bunch of commands could be here" }
* 1) debugging('a normal debug notice');
* 2) debugging('something really picky', DEBUG_ALL);
* 3) debugging('annoying debug message only for develpers', DEBUG_DEVELOPER);
* 4) if (debugging()) { echo "a bunch of commands could be here" }
*
* @param string $message a message to print
* @param int $level the level at which this debugging statement should show
* @return bool
*/
function debugging($message='', $level=E_NOTICE) {
function debugging($message='', $level=DEBUG_NORMAL) {
global $CFG;
@ -5370,5 +5370,13 @@ function debugging($message='', $level=E_NOTICE) {
return false;
}
/**
* Disable debug messages from debugging(), while keeping PHP error reporting level as is.
*/
function disable_debugging() {
global $CFG;
$CFG->debug = $CFG->debug | 0x80000000; // switch the sign bit in integer number ;-)
}
// vim:autoindent:expandtab:shiftwidth=4:tabstop=4:tw=140:
?>

View File

@ -3,6 +3,9 @@
require_once("../../config.php");
require_once("lib.php");
// disable moodle specific debug messages
disable_debugging();
$id = required_param('id', PARAM_INT); // Course Module ID
$l = optional_param('l','', PARAM_ALPHANUM);

View File

@ -13,7 +13,10 @@
} else {
$lifetime = $CFG->filelifetime;
}
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('quizfile.php');
if (!$relativepath) {

View File

@ -21,6 +21,9 @@
$lifetime = 3600; // Seconds for files to remain in caches - 1 hour
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('file.php');

View File

@ -8,6 +8,9 @@
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('pix.php');
$args = explode('/', trim($relativepath, '/'));

View File

@ -8,6 +8,9 @@
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');
// disable moodle specific debug messages
disable_debugging();
$relativepath = get_file_argument('pixgroup.php');
$args = explode('/', trim($relativepath, '/'));