Package Data | |
---|---|
Maintainer Username: | Xethron |
Maintainer Contact: | bernhard@coffeecode.co.za (Bernhard Breytenbach) |
Package Create Date: | 2014-02-01 |
Package Last Update: | 2014-02-05 |
Language: | PHP |
License: | GPL v3 |
Last Refreshed: | 2024-11-26 15:23:35 |
Package Statistics | |
---|---|
Total Downloads: | 16,906 |
Monthly Downloads: | 26 |
Daily Downloads: | 1 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Logging variables can sometimes cause huge logs, especially if you want to email those logs to yourself.
On the other hand, logging exceptions with the default __toString can will most likely give you just enough information to confuse the hell out of you!
This class extends Xethron\ToString, and in addition, adds a few Laravel 4 specific functions for converting Query Logs to Strings.
This is a function that will display a variable similar to print_r, with the ability to specify the max_lines, max_depth (for arrays) and min_depth (for arrays).
This means that you will never get an email with an array 3000 lines long as you would with print_r.
Xethron\L4ToString::variable( $var, $max_lines, $max_depth, $min_depth )
I recommend adding a global function to one of your startup files for easier access:
function varToStr( $var, $max_lines = 10, $max_depth = 4, $min_depth = 2 )
{
return Xethron\L4ToString::variable( $var, $max_lines, $max_depth, $min_depth );
}
This converts an Exception to string, much like PHP's __toString, however, it won't cut off those important pieces of information you require while debugging.
On top of that, it also uses the Variable to String to to include all the variables passed in the Stack Trace.
Xethron\L4ToString::exception( $e ); // This will print out the entire Exception
Xethron\L4ToString::trace( $e->getTrace() ); // This will only print out the stack trace
This will convert the Laravel 4 Query Log to a neat Query String like:
#0 select * from `table` where `table`.`id` = 113 and `deleted` = 0 limit 1;
{"bindings":[113,0],"time":1.08}
#1 select * from `another_table` where `another_table`.`deleted_at` is null and `id` = '66' limit 1;
{"bindings":["66"],"time":0.49}
#2 select * from `country` where `country`.`deleted` = 0 and `country`.`name` in ('South Africa');
{"bindings":[0,"South Africa"],"time":0.51}
Xethron\L4ToString::queryLog(); // gets the latest query log and prints it
Xethron\L4ToString::queryLog( \DB::getQueryLog() ); // Specify your own query log
Xethron\L4ToString::query( $qyery ); // Pass a single query from the query log to be converted to string
L4ToString is distributed under the terms of the GNU General Public License, version 3 or later.