spatie / laravel-log-dumper
A function to dump anything to the log
Fund package maintenance!
spatie
spatie.be/open-source/support-us
Installs: 358 157
Dependents: 5
Suggesters: 0
Security: 0
Stars: 115
Watchers: 7
Forks: 10
Open Issues: 0
Requires
- php: ^7.4|^8.0
- illuminate/database: ^8.72|^9.0|^10.0|^11.0
- illuminate/support: ^8.72|^9.0|^10.0|^11.0
Requires (Dev)
- ext-json: *
- orchestra/testbench: ^6.23|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.4|^10.5
- spatie/phpunit-snapshot-assertions: ^4.0|^5.1
README
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.
Support us
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.
Installation
You can install the package via composer:
composer require spatie/laravel-log-dumper
Usage
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.
Using other log levels
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);
Enabling and disabling logging
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'); }
Logging queries
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
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you've found a bug regarding security please mail security@spatie.be instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.