foolz / profiler
monolog-based profiler
Installs: 12 316
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=5.4.0
- monolog/monolog: ~1.9
This package is auto-updated.
Last update: 2024-12-21 06:35:16 UTC
README
This package provides a simple to use profiler, with the power of monolog.
Requirements
- PHP 5.4 or higher
- Monolog (automatically installed with composer)
Installation
Install as any composer package.
Setup
You should load the profiler early in your code.
<?php $profiler = new Profiler(); $profiler->enable();
Until enable isn't run, no request will be logged. You can setup monolog handlers to have custom output options:
<?php $profiler = new Profiler(); $profiler->pushHandler(new ChromePHPHandler()); $profiler->enable(); $profiler->log("Profiler enabled");
HTML output
Remember to check whether you have a text/html
request before inserting the HTML profiler panel.
You can print the current log at any time with $profiler->getHtml()
.
If you use a framework you might have a $response
variable that handles the data sent to the client.
To put the profiler at the bottom of the page, you may try something similar to the following.
<?php $content = explode('</body>', $response->getContent()); if (count($content) == 2) { $response->setContent($content[0].$this->profiler->getHtml().$content[1]); } $response->send();
Methods
-
pushHandler()
As Monolog's pushHandler() function, allows adding log handlers to the logger -
getLogger()
Returns the Monolog logger so it can be customized -
enable()
Enables the profiler and prints how much time was elapsed since the start of the script -
isEnabled()
Tells if the profiler is enabled -
log($string, $context)
Logs elapsed time since the beginning of the script and total memory usage The $string variable allows setting a string to identify the entry in the log The $context variable allows adding arbitrary data to the entry -
logMem($string, $variable, $context)
Logs memory usage of$variable
. While checking, a clone of $variable will be created (it can't be helped), so use with caution. For the rest, it works likelog()
-
logStart($string, $context)
Likelog()
but it starts a timer -
logStop($string, $context)
Likelog()
, but if called afterlogStart()
,$context
will contain elapsed time -
getHtml()
Returns an HTML representation of the logged entries