GithubHelp home page GithubHelp logo

spatie / laravel-log-dumper Goto Github PK

View Code? Open in Web Editor NEW
113.0 7.0 10.0 84 KB

A function to dump anything to the log

Home Page: https://spatie.be/open-source

License: MIT License

PHP 100.00%
log dump development laravel

laravel-log-dumper's Introduction

A function to dump anything to the log

Latest Version on Packagist run-tests Total Downloads

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 [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

laravel-log-dumper's People

Contributors

adrianmrn avatar brendt avatar freekmurze avatar laravel-shift avatar nielsvanpach avatar nowendwell avatar nunomaduro avatar patinthehat avatar stephandesouza avatar timvandijck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-log-dumper's Issues

Is it possible to support Laravel 6?

Right now this is what I see:

> composer require spatie/laravel-log-dumper

Using version ^1.1 for spatie/laravel-log-dumper
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for spatie/laravel-log-dumper ^1.1 -> satisfiable by spatie/laravel-log-dumper[1.1.0].
    - Conclusion: remove laravel/framework v6.18.6
    - Conclusion: don't install laravel/framework v6.18.6
    - spatie/laravel-log-dumper 1.1.0 requires illuminate/support ^7.0 -> satisfiable by illuminate/support[v7.0.0, v7.0.1, v7.0.2, v7.0.3, v7.0.4, v7.0.5, v7.0.6, v7.0.7, v7.0.8, v7.1.0, v7.1.1, v7.1.2, v7.1.3, v7.2.0, v7.2.1, v7.2
.2, v7.3.0, v7.4.0, v7.5.0, v7.5.1, v7.5.2, v7.6.0, v7.6.1].
    - don't install illuminate/support v7.0.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.1|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.2|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.3|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.4|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.5|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.6|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.7|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.0.8|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.1.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.1.1|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.1.2|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.1.3|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.2.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.2.1|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.2.2|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.3.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.4.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.5.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.5.1|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.5.2|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.6.0|don't install laravel/framework v6.18.6
    - don't install illuminate/support v7.6.1|don't install laravel/framework v6.18.6
    - Installation request for laravel/framework (locked at v6.18.6, required as ^6.18) -> satisfiable by laravel/framework[v6.18.6].

Installation failed, reverting ./composer.json to its original content.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.