Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Flare Debug Sender Laravel Package

spatie/flare-debug-sender

A debug sender for Flare payloads, intended mainly for internal testing. It lets Laravel apps route error, trace, and Zipkin payloads through a configurable channel, with options to pass through data, alter tracing IDs and times, print payload details, and customize curl sender settings.

View on GitHub
Deep Wiki
Context7

Debugging tool for Flare payloads

Latest Version on Packagist Tests Total Downloads

This is a debug sender for Flare payloads, mostly used for internal testing purposes.

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/flare-debug-sender

Usage

For Laravel applications

Ensure Flare's config file is published:

php artisan vendor:publish --tag=flare-config

Within your flare.php config file:

return [
    // Other contents ..

    'sender' => [
        'class' => \Spatie\FlareDebugSender\FlareDebugSender::class,
        'config' => [
            'passthrough_errors' => true,
            'passthrough_traces' => true,
            'passthrough_zipkin' => false,
            'replace_tracing_ids' => true,
            'replace_tracing_times' => true,
            'print_full_payload' => false,
            'print_endpoint' => false,
            'print_resource' => false,
            'channel' => \Spatie\FlareDebugSender\Channels\LaravelLogDebugChannel::class,
            'channel_config' => [],
            'sender' => CurlSender::class,
            'sender_config' => [
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ],
            ],
        ],
    ],
]

General usage

Within your Flare config:

$config->sendUsing(
    \Spatie\FlareDebugSender\FlareDebugSender::class,
    [
        'passthrough_errors' => true,
        'passthrough_traces' => true,
        'passthrough_zipkin' => false,
        'replace_tracing_ids' => true,
        'replace_tracing_times' => true,
        'print_full_payload' => false,
        'print_endpoint' => false,
        'print_resource' => false,
        'channel' => \Spatie\FlareDebugSender\Channels\FileDebugChannel::class,
        'channel_config' => [
            'file' => 'path/to/your/file.log',
        ],
        'sender' => CurlSender::class,
        'sender_config' => [
            'curl_options' => [
                CURLOPT_SSL_VERIFYHOST => 0,
                CURLOPT_SSL_VERIFYPEER => 0,
            ],
        ],
    ]
)

Open up Ray and start debugging!

Ray usage

When using Ray you can use the following configuration:

return [
    // Other contents ...

    'sender' => [
        'class' => \Spatie\FlareDebugSender\FlareDebugSender::class,
        'config' => [
            'passthrough_errors' => true,
            'passthrough_traces' => true,
            'passthrough_zipkin' => false,
            'replace_tracing_ids' => true,
            'replace_tracing_times' => true,
            'print_full_payload' => false,
            'print_endpoint' => false,
            'print_resource' => false,
            'channel' => \Spatie\FlareDebugSender\Channels\RayDebugChannel::class,
            'channel_config' => [],
            'sender' => CurlSender::class,
            'sender_config' => [
                'curl_options' => [
                    CURLOPT_SSL_VERIFYHOST => 0,
                    CURLOPT_SSL_VERIFYPEER => 0,
                ],
            ],
        ],
    ],
]

Options

  • passthrough_errors: If set to true, errors will be passed through to the default sender.
  • passthrough_traces: If set to true, traces will be passed through to the default sender.
  • passthrough_zipkin: If set to true, traces will be sent to a local Zipkin instance.
  • replace_tracing_ids: If set to true, the span ids will be replaced with a more readable version.
  • replace_tracing_times: If set to true, the start and end times of the spans will be replaced with a more readable version.
  • print_full_payload: If set to true, the full payload will be printed.
  • print_endpoint: If set to true, the endpoint will be printed.
  • print_resource: If set to true, the trace resource will be printed.
  • channel: The channel to use for debugging. Defaults to RayDebugChannel.
  • channel_config: The configuration for the channel. Defaults to an empty array.
  • sender: The sender to use for sending the payload. Defaults to CurlSender.
  • sender_config: The configuration for the sender.

Channels

By default, the RayDebugChannel is used. We also provide a few other channels that you can use:

LaravelLogDebugChannel

Will write messages to the Laravel log. This is useful for debugging in a Laravel application.

FileDebugChannel

Will write messages to a file. This is useful for debugging in a non-Laravel application.

By default, the file will be written to flare-debug-sender.log in the root of your project. You can change this by setting the file option in the channel configuration:

    'channel' => FileDebugChannel::class,
    'channel_config' => [
        'file' => 'path/to/your/file.log',
    ],

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator