1. Go to this page and download the library: Download spatie/flare-client-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
spatie / flare-client-php example snippets
// Where you registered your client...
$flare = Flare::make('YOUR-FLARE-API-KEY')
->registerFlareHandlers();
$flare->filterExceptionsUsing(
fn(Throwable $throwable) => !$throwable instanceof AuthorizationException
);
use Spatie\FlareClient\Flare;
$flare = Flare::make('YOUR-API-KEY')
->registerFlareHandlers();
Flare::filterReportsUsing(function(Report $report) {
// return a boolean to control whether the report should be sent to Flare
return true;
});
$flare->reportErrorLevels(E_ALL & ~E_NOTICE); // Will send all errors except E_NOTICE errors
// Where you registered your client...
$flare = Flare::make('YOUR-FLARE-API-KEY')
->registerFlareHandlers();
$flare->anonymizeIp();
// Where you registered your client...
$flare = Flare::make('YOUR-FLARE-API-KEY')
->registerFlareHandlers();
$flare->censorRequestBodyFields('password');
// Get access to your registered Flare client instance
$flare->context('Tenant', 'My-Tenant-Identifier');
// Get access to your registered Flare client instance
$flare->group('Custom information', [
'key' => 'value',
'another key' => 'another value',
]);
new DateTime('2020-05-16 14:00:00', new DateTimeZone('Europe/Brussels'))
interface ArgumentReducer
{
public function execute(mixed $argument): ReducedArgumentContract;
}
return UnReducedArgument::create();
return new TruncatedReducedArgument(
array_slice($argument, 0, 25), // The reduced value
'array' // The original type of the argument
);
return new TruncatedReducedArgument(
$argument, // The reduced value
'array' // The original type of the argument
);
class DateTimeArgumentReducer implements ArgumentReducer
{
public function execute(mixed $argument): ReducedArgumentContract
{
if (! $argument instanceof \DateTimeInterface) {
return UnReducedArgument::create();
}
return new ReducedArgument(
$argument->format('d M Y H:i:s p'),
get_class($argument),
);
}
}
// Where you registered your client...
$flare = Flare::make('YOUR-FLARE-API-KEY')
->registerFlareHandlers();
$flare->argumentReducers([
BaseTypeArgumentReducer::class,
ArrayArgumentReducer::class,
StdClassArgumentReducer::class,
EnumArgumentReducer::class,
ClosureArgumentReducer::class,
DateTimeArgumentReducer::class,
DateTimeZoneArgumentReducer::class,
SymphonyRequestArgumentReducer::class,
StringableArgumentReducer::class,
])
// Where you registered your client...
$flare = Flare::make('YOUR-FLARE-API-KEY')
->registerFlareHandlers();
$flare->withStackFrameArguments(false);
use Spatie\FlareClient\Enums\MessageLevels;
// Get access to your registered Flare client instance
$flare->glow('This is a message from glow!', MessageLevels::DEBUG, func_get_args());
try {
// Code that might throw an exception
} catch (Exception $exception) {
$flare->reportHandled($exception);
}
use Spatie\FlareClient\Report;
// Get access to your registered Flare client instance
$flare->registerMiddleware(function (Report $report, $next) {
// Add custom information to the report
$report->context('key', 'value');
return $next($report);
});
use Spatie\FlareClient\Report;
class FlareMiddleware
{
public function handle(Report $report, $next)
{
$context = $report->allContext();
$context['session'] = null;
$report->userProvidedContext($context);
return $next($report);
}
}