From ebda82d787b3620424c1dcf4336146ea06815a55 Mon Sep 17 00:00:00 2001 From: jhunkeler Date: Wed, 23 Dec 2009 17:38:13 +0000 Subject: New debugging methods implements. config.php has two new options, "show_messages", and "repeat messages". If a "show_messages" is enabled any decho statements are rendered above the site footer. git-svn-id: http://svn.3rd-infantry-division.org/testing/branches/Bayonet CMS v2@395 c5b2fb0a-d05d-0410-98c8-828840a80ff6 --- includes/debug.php | 78 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 17 deletions(-) (limited to 'includes/debug.php') diff --git a/includes/debug.php b/includes/debug.php index 75e0d0f..872f5db 100644 --- a/includes/debug.php +++ b/includes/debug.php @@ -16,8 +16,6 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - -global $config; define("RUDI_DEBUG",true); define("RUDI_DEBUG_LEVEL",true); @@ -27,23 +25,66 @@ define('REPEAT',true); static $last_message = NULL; static $last_message_count = 0; +static $debug_ident = NULL; static $log_message_last = NULL; static $log_message_queue = array(); static $log_message_pos = 0; -function decho2($message) +function debug_set_ident($str) +{ + global $debug_ident; + $debug_ident = $str; +} + +function debug_clear_ident() { - global $log_message_last, $log_message_queue, $log_message_pos, $config; + global $debug_ident; + $debug_ident = ""; +} + +function decho($message, $from = "GENERIC") +{ + global $debug_ident, $log_message_last, $log_message_queue, $log_message_pos, $config; date_default_timezone_set($config['logs']['timezone']); - $timestamp = date('Y-M-d H:i:s T'); + $timestamp = date('H:i:s T'); $message = "[$timestamp]: $message"; + array_push($log_message_queue, $message); $log_message_pos++; } +function queuePrint($obj) +{ + if(is_array($obj)) + { + $array_dump = print_r($obj,true); + echo $array_dump . "
\n"; + //WriteLog($array_dump,BAYONET_LOG_INFO); + } + elseif(is_object($obj)) + { + ob_start(); + var_dump($obj); + $obj_dump = ob_get_contents(); + ob_end_clean(); + //htmlentities($obj_dump,ENT_QUOTES); + //WriteLog($obj_dump,BAYONET_LOG_INFO); + echo $obj_dump . "
\n"; + } + elseif(is_string($obj)) + { + $message = wordwrap($obj,80,'
'); + echo $obj . "
\n"; + //WriteLog($message,BAYONET_LOG_INFO); + } +} + function logQueueFlush() { global $log_message_queue, $config; + if($config['debug']['show_messages'] == false) return; + + $messageCount = 0; static $log_message_last_count = 0; static $next = false; @@ -54,36 +95,39 @@ function logQueueFlush() { if($message != $log_message_queue[$messageCount - 1]) { - echo "{$messageCount}: $message
\n"; + queuePrint($message); } elseif($message == $log_message_queue[$messageCount - 1]) { $log_message_last_count++; - if($config['debug']['repeat_messages'] == false) + if($config['debug']['repeat_messages'] == true) { - echo "{$messageCount}: $message
\n"; - if($config['debug']['repeat_messages'] == true) - { - if($log_message_queue[$messageCount + 1] != $message) - { - $next = true; - } + //echo "{$messageCount}: $message
\n"; + queuePrint($message); + } + if($config['debug']['repeat_messages'] == false) + { + if($log_message_queue[$messageCount + 1] != $message) + { + $next = true; } } + } if($next == true) { - echo "$messageCount: Last message recieved $log_message_last_count times
\n"; + queuePrint("Last message recieved $log_message_last_count times
\n"); $log_message_last_count = 0; $next = false; } - $messageCount++; + ++$messageCount; } echo ""; } +/* function decho($message, $flag = REPEAT) { global $last_message, $last_message_count; @@ -130,7 +174,7 @@ function decho($message, $flag = REPEAT) $last_message = $message; } - +*/ ?> \ No newline at end of file -- cgit