Avete appena finito di lavorare ad un grosso progetto… ops, pensavate di avere finito, ecco una caterva di bug da correggere! Sì, questa è la vita del developer, ok ma fino ad un certo punto. Correggere i bug e limitare tutta una serie di errori non deve diventare una paranoia di quelle che vi impediscono di sviluppare copiosamente il vostro codice, ed ecco, che in aiuto ci viene Sentry un tool fantastico “scaccia bug” che è super integrabile con Laravel, e lo scopriamo in questa mini guida!

Cos’è Sentry

Sentry è un software as a service (Saas) dedicato all’error tracking e al performance monitoring, un tool che supporta tantissimi linguaggi di programmazione tra cui un framework in particolare, udite udite: Laravel. In pratica Sentry ci permette di tracciare gli errori (e non solo) che escono fuori in un nostro progetto.

Come funziona Sentry

Integrare Laravel con Sentry

Configurare Sentry è davvero semplice, in pochi minuti avrete tutto pronto e potrete lanciare la vostra applicazione per scovare tutti i bug e gli errori possibili. Ok, prima di cominciare dovete sapere che in Sentry  le eccezioni vengono raggruppate per tipo/classe. 

Cosa vuol dire questo? Tutto ciò significa che se usiamo eccezioni diverse per problemi diversi a questo punto diventa più semplice capire cosa funziona di più e cosa funziona di meno,

Altra cosa da tenere in considerazione: si può decidere di definire delle release (una sorta di “versione” dell’applicazione) al momento del deploy di in produzione. In questo modo, Sentry cercherà di capire se un nuovo bug è stato introdotto all’interno della vostra app. Quanto costa Sentry? Per quanto riguarda le tariffe di Sentry vi rimandiamo al sito ufficiale dell’applicativo, vi diciamo che comunque potete iniziare ad usarlo con un free plan “Developer” che supporta la bellezza di 5000 errori mensili.

Installare e configurare l’integrazione

In primis dovrete registrarvi e creare un account su Sentry, a quel punto vi verrà chiesto di creare un nuovo progetto. Quando creerete un nuovo progetto ecco che Sentry vi chiederà quale tecnologia avete impiegato, ovviamente voi risponderete: Laravel!

Capiamo dunque come integrare Laravel su Sentry, dovete installare l’integrazione tramite composer, utilizzando questi comandi:

composer require sentry/sentry-laravel

Una volta installato, dobbiamo modificare, come segue, il metodo register della classe App\Exceptions\Handler per inviare a Sentry le eccezioni intercettate:

public function register()
{
$this>reportable(function (Throwable $e) {
if ($this>shouldReport($e) && app()>bound(‘sentry’)) {
app(‘sentry’)>captureException($e);
}
});
}

Quando avrete concluso la configurazione, il codice che avete appena visto manderà a Sentry le varie eccezioni, queste una volta scandagliate dal tool salteranno fuori una alla volta.

Prima di concludere concentriamoci sull’esecuzione del comando:

php artisan sentry:publish –dsn=https://CODICE.ingest.sentry.io/ID_PROGETTO

Tutto ciò ci serve per  finire di configurare tutto il necessario. Il comando con i valori corretti ci verrà comunicato da Sentry

A questo punto non ci resta che verificare che tutto funzioni. Sentry è fantastico e ci aiuta con un package provvisto di un comando Artisan pronto da usare, ovvero

php artisan sentry:test –transaction

questo comando a sua volta si occupa di lanciare un’eccezione di prova da inviare a Sentry. Nel giro di pochi secondi è possibile vedere il tutto nella dashboard del progetto su Sentry.