All Projects → spatie → laravel-log-dumper

spatie / laravel-log-dumper

Licence: MIT license
A function to dump anything to the log

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to laravel-log-dumper

libraries-list
📋 Uma lista de bibliotecas mais usadas para frameworks front-end
Stars: ✭ 23 (-78.3%)
Mutual labels:  development
100-Days-Of-Flutter-Widgets
This is the place where you can get all knowledge about the flutter in 100 Days.
Stars: ✭ 30 (-71.7%)
Mutual labels:  development
logCollect
日志收集解决方案,动态管理、轻量级日志收集客户端
Stars: ✭ 24 (-77.36%)
Mutual labels:  log
Serilog.Sinks.Postgresql.Alternative
Serilog.Sinks.Postgresql.Alternative is a library to save logging information from https://github.com/serilog/serilog to https://www.postgresql.org/.
Stars: ✭ 29 (-72.64%)
Mutual labels:  log
vagrant-xfce4-ubuntu
Vagrant-based development environment using Ubuntu and the Xfce Desktop Environment
Stars: ✭ 17 (-83.96%)
Mutual labels:  development
react-native-log-level
Multi level logger for React Native
Stars: ✭ 13 (-87.74%)
Mutual labels:  log
blimp
Web development with docker made easy
Stars: ✭ 12 (-88.68%)
Mutual labels:  development
css-only-slider
Responsive testimonials slider using CSS and HTML only
Stars: ✭ 28 (-73.58%)
Mutual labels:  development
Elite-Log-Agent
Lightweight, non-intrusive data uploader for Elite Dangerous
Stars: ✭ 42 (-60.38%)
Mutual labels:  log
CJMethodLog
Objective-C 函数日志监听系统,可监听任意类,任意类的任意方法的调用日志。
Stars: ✭ 26 (-75.47%)
Mutual labels:  log
websqldump
An ultra-light JS library for exporting data out of WebSQL
Stars: ✭ 36 (-66.04%)
Mutual labels:  dump
android-trinity
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.
Stars: ✭ 44 (-58.49%)
Mutual labels:  development
debug.js
Debugger of JavaScript, by JavaScript, for JavaScript
Stars: ✭ 19 (-82.08%)
Mutual labels:  log
nginx-prometheus
Turn Nginx logs into Prometheus metrics
Stars: ✭ 29 (-72.64%)
Mutual labels:  log
dotfiles
My personal app/env configs and dotfiles.
Stars: ✭ 27 (-74.53%)
Mutual labels:  development
GAlogger
Log R Events and R Usage to Google Analytics
Stars: ✭ 23 (-78.3%)
Mutual labels:  log
twitch-chatlog
Fetch the chatlog to a twitch VOD from your command line.
Stars: ✭ 78 (-26.42%)
Mutual labels:  log
dotnet-monitor-ui
This project is created as an easy to access user experience for dotnet-monitor tool which can be found here. dotnet-monitor is on demand tool which can be used on .NET Core applications to get memory dumps, traces and metrics of a running application.
Stars: ✭ 38 (-64.15%)
Mutual labels:  dump
stateofdev.ma
stateofdev.ma source code
Stars: ✭ 62 (-41.51%)
Mutual labels:  development
restrictfe
TYPO3 extension restrictfe. Blocks access to frontend and allows to show it only to some defined exception's like if the request is from an authorized backend user, has specific IP, header etc.
Stars: ✭ 12 (-88.68%)
Mutual labels:  development

A function to dump anything to the log

Latest Version on Packagist GitHub Tests Action Status 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].