| 
<?php
 include_once "./class_debug.php";
 
 //===== INITIATE DEBUG CLASS AND SET OPTION ====================================
 //----- INitialize class
 // debug-level
 //      The first number is the debug detail you want to get, normally 0-9
 //      Then every debug message a level. If the message level
 //      is less than debug level, then it will not be displayed. Usefull if you
 //      want the debug code remained in the programe, then you can control
 //      the amount of debug message by changing level from 0 (all message) to
 //      other level. Note that the lower the lever, the more important the
 //      message, i.e. level 0 is the most important.
 // output mode
 //      you can choose one or more error output method by cascading with the
 //      "|" sign. eg DEBUG_TEXT|DEBUG_FILE will print message out as text
 //      as well as send to a logfile
 $debug = new DEBUG(5, DEBUG_TEXT|DEBUG_HTML|DEBUG_JS|DEBUG_FILE);
 
 //----- FORMAT
 //      Added some formating to the base message
 $debug->SetFormat("DEBUG_SAMPLE: %s");
 
 //----- DEBUG_TEXT
 //      Text message can have a prefix and postfix to the message
 $debug->SetText("<H5>ERR [ ", "] </H5><BR>");
 
 //----- DEBUG_HTML
 //      error message will be using this style
 //      note that %s will be replaced by the error message
 //      In this case the message will be enclosed by <H5 class='error'>
 //      and </H5>. Note that the %s can only be used once.
 //      The difference between HTML and TEXT is that HTML convert all
 //      new-line to <BR> field.
 echo "<STYLE>.error {border: groove; background: lightgreen}</STYLE>";
 $debug->SetHTML("<H5 class='error'>%s</H5>");
 
 //----- DEBUG_JS
 //      Generate a javascript prompt. if you can think of what to add to
 //      this feature please inform me.
 
 //----- DEBUG_FILE
 //      This will print the error message to the log file, if this is
 //      not specify, by default the log name is "debug.log"
 $debug->SetLogFile("myerror.log");
 
 //===== TESTING SCRIPT START ===================================================
 echo "<STYLE>HR {text-align: left}</style>";
 //----- STANDARD OPERATION
 // I will see this message only if I set the debug level to 9
 // This will ignore from level 6 (inclusive) onwards
 $debug->SetLevel(5);
 echo "Debug Level is set to 5<BR>";
 for ($i = 0; $i <= 9; $i ++)
 {      echo "<BR><HR WIDTH=50%>Output a debug message: level $i<BR>";
 $debug->Output("level $i", $i);
 }
 //----- TURN OFF EVERYTHING
 echo "<HR>The debug message is now off";
 $debug->SetDebugOn(FALSE);
 $debug->Output("level ON/OFF", 0);
 echo "<HR>The debug message is now on";
 $debug->SetDebugOn(TRUE);
 $debug->Output("level ON/OFF", 0);
 //----- INTERCEPT STANDARD SYSTEM MESSAGE
 //    Note that all the ERROR is set at level 1
 //    All the WARNING is set at level 2
 //    and all the NOTICE is set at level 3.
 //    That mean debug level has to set at least at 3 to see all trapped message
 echo "<HR>Intercept system error message";
 echo "<BR>Please refer to PHP help on Error handling and Logging Functions<BR>";
 //--- Set up a wrapper function
 function MyErrorHandler($errno, $errstr, $errfile, $errline)
 {   global $debug;
 $debug->ErrorHandler($errno, $errstr, $errfile, $errline);
 }
 //--- I want to capture only these errors:
 define("FATAL",E_USER_ERROR);
 define("ERROR",E_USER_WARNING);
 define("WARNING",E_USER_NOTICE);
 error_reporting (FATAL | ERROR | WARNING);
 $old_error_handler = set_error_handler("myErrorHandler");
 //--- Trigger an error
 echo "Manually trigger a level<BR>";
 trigger_error("Value at position $i is not a number, using 0 (zero)",
 WARNING);
 //---- Program error
 echo "Program eror in the next line<BR>";
 syassafda;
 
 
 ?>
 
 |