PHP Classes
elePHPant
Icontem

Debug and measure actions: Log and render current script actions

Recommend this page to a friend!
  Info   View files Example   Screenshots Screenshots   View files View files (3)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2015-07-11 (1 year ago) RSS 2.0 feedNot yet rated by the usersTotal: 182 All time: 8,004 This week: 689Up
Version License PHP version Categories
logrequest 1.0GNU Lesser Genera...5.0HTML, PHP 5, Logging, Performance and...
Description Author

This class can log and render current script actions.

It can add messages to a log array about actions performed by each script. It keeps track of the action title, current time and importance level.

The class can display all the messages in a HTML page with the time that passed between actions, as well a summary with total elapsed time and the action that took longer.

Each action appears displayed using different CSS classes named after the action level.

  Performance   Level  
Innovation award
Innovation award
Nominee: 2x

Details
-------------------------------------------------------------------------------

Debug logging during a client request.
With this you can
- measure any action 
- find bottlenecks in your code.

Licence GPL 3.0

author: Axel Hahn
http://www.axel-hahn.de

-------------------------------------------------------------------------------
 
USAGE:
(1) Trigger a message with add() to add a marker
(2) The render() method lists all items in a table with time since start
    and the delta to the last message. 
    An additional div on top right shows the execution time total
    and the time of the longest action (with a link to it).


See the example.php.

You don't need to write any print_r and var_dump anymore and remove it
afterwards. Add _GET and _POST, and put a $oLog->add() at start and end
of any action you want to measure.

For production do not execute render method. Wrap it with a flag:

	if ($bIsDevelopEnvironment){
		echo $oLog->render();
	}


If you init the logger globally you can put requests into your class
example:

    /**
     * add a log messsage
     * @global object $oLog
     * @param  string $sMessage  messeage text
     * @param  string $sLevel    warnlevel of the given message
     * @return bool
     */
    private function log($sMessage, $sLevel = "info") {
        global $oLog;
        if (!$oLog ||! is_object($oLog) || !method_exists($oLog, "add")){
            return false;
        }
        return $oLog->add("class " . __CLASS__ . " - " . $sMessage, $sLevel);
    }
Screenshots  
  • logger.png
  Files folder image Files  
File Role Description
Files folder imageclasses (1 file)
Files folder imageexample (1 file)
Accessible without login Plain text file readme.txt Doc. Readme

 Version Control Unique User Downloads Download Rankings  
 0%
Total:182
This week:0
All time:8,004
This week:689Up