Cuando trabajás como freelance, el tiempo de respuesta ante un problema **puede ser la diferencia entre un cliente feliz y uno buscando otro proveedor**. En mi experiencia, el **monitoreo en tiempo real** se convirtió en uno de mis mayores aliados. Gracias a él, detecto y resuelvo errores antes incluso de que el cliente los note. Uno de mis favoritos para esto es **Sentry**, especialmente por su integración con **Laravel** y el soporte directo desde **Forge**. Con la capa gratuita, puedo monitorear excepciones en al menos **10 sitios**… y créeme, eso ya es mucho.
Monitorear no es solo “loggear errores”. Es tener una central de control que te dice:
Esto significa que puedo recibir una notificación en segundos después de una excepción crítica y actuar de inmediato. En muchos casos, el cliente nunca se entera de que algo falló… porque ya lo corregí antes de que llegara a su inbox o teléfono.
Sentry se integra en minutos y sin grandes dolores de cabeza. Ejemplo de instalación y configuración:
composer require sentry/sentry-laravel
php artisan vendor:publish --tag="sentry-config"
En el archivo .env
:
SENTRY_LARAVEL_DSN="https://mi-token@o123456.ingest.sentry.io/789123"
SENTRY_TRACES_SAMPLE_RATE=0.5
SENTRY_PROFILES_SAMPLE_RATE=1.0
Y en app/Exceptions/Handler.php
, podés enviar excepciones manualmente cuando necesites control extra:
<?php
namespace App\Exceptions;
use Throwable;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Sentry\State\HubInterface;
class Handler extends ExceptionHandler
{
public function register(): void
{
$this->reportable(function (Throwable $e) {
if (app()->bound(HubInterface::class)) {
app(HubInterface::class)->captureException($e);
}
});
}
}
Esto asegura que cualquier excepción —incluyendo las que capturás manualmente— llegue a Sentry.
Tip | Descripción | Beneficio |
---|---|---|
Filtrar excepciones | Evitá enviar errores triviales o esperados | Reducís ruido y ahorrás cuota en plan gratuito |
Agregar contexto | Adjuntá datos del usuario, request y variables | Acelera la resolución de problemas |
Configurar alertas inteligentes | Notificaciones solo para errores críticos o repetitivos | No saturar tu bandeja |
Usar breadcrumbs | Registrar eventos previos al error | Permite entender la secuencia que llevó al fallo |
Integrar con Forge | Activá Sentry directamente desde Forge | Menos fricción en despliegues |
Ejemplo de agregar contexto extra en Laravel:
app(HubInterface::class)->configureScope(function (\Sentry\State\Scope $scope) use ($user, $request) {
$scope->setUser(['id' => $user->id, 'email' => $user->email]);
$scope->setExtra('url', $request->fullUrl());
$scope->setExtra('payload', $request->all());
});
Pros | Contras |
---|---|
Integración muy simple con Laravel | Plan gratuito con límite mensual de eventos |
Contexto detallado de cada excepción | Puede ser demasiado si solo querés un log básico |
Alertas en tiempo real | Requiere conexión a internet estable |
Excelente visualización y búsqueda de errores | No es ideal para métricas de rendimiento profundas (usar APM para eso) |
Integración directa con Forge | Algunas features avanzadas son solo en planes pagos |
Si trabajás como freelance o en un equipo pequeño, monitorear tus apps no es opcional. Es la forma de mantener el control, reaccionar rápido y demostrar profesionalismo. En mi caso, Sentry me ha permitido resolver problemas antes de que el cliente siquiera los detecte, ahorrando tiempo, dinero y estrés.
Con la capa gratuita, podés monitorear múltiples proyectos y ganar visibilidad total sobre lo que pasa en tus desarrollos. Si todavía no lo usás, probalo en tu próximo proyecto y vas a notar la diferencia desde el primer error.
Me dedico a crear soluciones web eficientes y a compartir mi conocimiento con la comunidad de desarrolladores.