Weave Code
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

Debug sender for Flare payloads, mainly for internal testing. Plug it into Laravel’s Flare config to inspect, log, or forward payloads, optionally printing full payload details and controlling passthrough/trace handling via configurable channels and sender options.

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.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport