Forums / Developer / Ez debugging levels question

Ez debugging levels question

Author Message

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 Dieding@xrow.de

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}

Looking for a new job? http://www.xrow.com/xrow-GmbH/Jobs
Looking for hosting? http://hostingezpublish.com
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
Web: http://www.xrow.com/