Stars: 112
Forks: 10
Pull Requests: 6
Issues: 1
Watchers: 6
Last Updated: 2023-02-15 07:36:26
A function to dump anything to the log
License: MIT License
Languages: PHP
This package contains a function ld
. Any argument you pass to it will be dumped to the log. You can pass any kind of value to it.
ld('a string', ['an array'], new Class());
Under the hood, Symfony's VarDumper
is used to create string representations.
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
You can install the package via composer:
composer require spatie/laravel-log-dumper
You can pass any variable you want to ld
.
ld('a string', ['an array'], new Class());
All arguments will be converted to strings and will be written to the application log using the info
level.
If you want to use another log level, you can just call the method you want on ld
. You can pass these methods any type of argument and any number of arguments. They will all be logged.
// logs using the `error` level
ld()->error('a string', ['an array'], new Class())
Of course, you can mix and chain different levels.
ld()
->debug('Debug info', ['an array'])
->error('Error info', new Class);
You can disable logging by calling disable
.
ld('foo'); // will be logged
ld()->disable();
ld('bar'); // will not be logged
ld()->enable();
ld('baz'); // will be logged
You can pass a boolean to enable
. This can be handy when you want to log only one iteration of a loop.
foreach (range(1, 3) as $i) {
// only things in the third iteration will be logged
ld()->enable($i === 3);
ld('we are in the third iteration');
}
You can log all queries with logQueries
.
ld()->logQueries(); // all queries after this call will be logged
If you wish to stop logging queries, call stopLoggingQueries
.
ld()->stopLoggingQueries(); // all queries after this call will not be logged anymore
Alternatively to manually starting and stopping listening for queries, you can also pass a closure to logQueries
. Only the queries executed inside the closure will be logged.
ld()->logQueries(function() {
$this->mailAllUsers(); // all queries executed in this closure will be logged
});
User::get(); // this query will not be logged
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
If you've found a bug regarding security please mail [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.