Forums / Developer / Ez debugging levels question
Paul Forsyth
Friday 16 July 2004 8:38:16 am
I want to use a more sophisticated way of logging events and items in my code. For that i want to use levels and loggers.
Looking in ezdebug.php there seems to be support for levels but i haven't seen any examples of debug lines being incorporated into code in a way that allows for settings to influence what is displayed.
I tend to use debug lines as print statements, which isnt good. Are there examples someone could point me to that illustrate how to best use the eZ debug tools?
paul
--http://www.visionwt.com
Björn X
Friday 16 July 2004 8:53:44 am
ezdebug is related to php errors.
you might wanna look at eZLogger though.
I implemented my own class
<?php <?php /*! \file ezsimpleobject.php */ /*! \class eZSimpleObject ezsimpleobject.php \brief The class eZSimpleObject provide could be the super class of any regular object you can also parse this Object to the tempalte engine */ include_once( "kernel/classes/ezpersistentobject.php" ); class eZSimpleObject extends eZPersistentObject { function eZSimpleObject() { } function hasattribute($name) { $classname = get_class($this); $vars = get_class_vars($classname); if ( array_key_exists($name,$vars) ) return true; else return false; } function toString() { return; } function setAttribute( $name, &$value ) { $this->$name = & $value; } function & attribute($name) { return $this->$name; } function &instance($keys = null,$classname=__CLASS__) { if (is_array($keys) and count($keys)) { $keystring=implode("", $array); } else if ($keys and (is_string($keys) or is_integer($keys) ) ) { $keystring="$keys"; } else { $keystring=""; } $impl =& $GLOBALS[__CLASS__."GlobalInstance".$keystring]; $class =& get_class( $impl ); if ( $class != __CLASS__ ) { $impl = new $classname( $keys ); $GLOBALS[__CLASS__."GlobalInstance".$keystring]=$impl; } return $impl; } } ?> class eZError extends eZSimpleObject { function eZError( $text, $type=null,$number=null) { if ($text) $this->text=$text; if ($type) $this->error['type']=$type; if ($number) $this->error['number']=$number; if (isset($GLOBALS['eZErrors'])) { $GLOBALS['eZErrors'][] = & $this; } } function hasErrors() { if ( isset($GLOBALS['eZErrors']) and count( $GLOBALS['eZErrors'] ) > 0) { return true; } else { return false; } } function clearAll() { unset($GLOBALS['eZErrors']); } function initGlobal( &$tpl ) { if ( !isset($GLOBALS['eZErrors']) ) { $GLOBALS['eZErrors'] = array(); if ( $tpl ) { $tpl->setVariableRef('ezerrors',$GLOBALS['eZErrors'],'siteskins'); } return true; } else { return false; } } function &instance($id) { return parent::instance($id,"ezerror"); } var $text; var $error; } ?>
{default warning_list=array()} {section show=or(and(is_array($warning_list),$warning_list|count|gt(0) ), and(is_array($siteskins:ezerrors), $siteskins:ezerrors|count|gt(0) ) )} <div class="warning"> <h2>{"Warning"|i18n("design/siteskins")}</h2> <ul> {section name=Warning loop=$warning_list} <li>{$Warning:item.text} {section show=is_set($Warning:item.error.type)} {$Warning:item.error.type} ({$Warning:item.error.number}){/section}</li> {/section} {section name=Warning loop=$siteskins:ezerrors} <li>{$Warning:item.text} {section show=is_set($Warning:item.error.type)} {$Warning:item.error.type} ({$Warning:item.error.number}){/section}</li> {/section} </ul> </div> {/section} {/default}