PHPackages                             inprovo/howler-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Logging &amp; Monitoring](/categories/logging)
4. /
5. inprovo/howler-client

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

inprovo/howler-client
=====================

Error tracking client for Howler - sends exceptions to your Howler server

v2.0.0(1mo ago)030↓100%MITPHPPHP ^8.2

Since Apr 12Pushed 1mo agoCompare

[ Source](https://github.com/inprovo/howler-client)[ Packagist](https://packagist.org/packages/inprovo/howler-client)[ RSS](/packages/inprovo-howler-client/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (3)Versions (13)Used By (0)

Howler Client
=============

[](#howler-client)

Error tracking client voor [Howler](https://howler.inprovo.nl). Vangt automatisch exceptions op in je Laravel applicatie en stuurt ze naar je Howler server.

Installatie
-----------

[](#installatie)

```
composer require inprovo/howler-client
```

Setup
-----

[](#setup)

### 1. Login (eenmalig per machine)

[](#1-login-eenmalig-per-machine)

```
php artisan howler:login
```

Voer je Howler e-mail en wachtwoord in. Credentials worden opgeslagen in `~/.howler/credentials`.

### 2. Project koppelen

[](#2-project-koppelen)

```
php artisan howler:init
```

Kies een bestaand project of maak een nieuw project aan. De command schrijft automatisch `HOWLER_API_KEY` en `HOWLER_ENDPOINT` naar je `.env`.

### 3. Testen

[](#3-testen)

```
php artisan howler:test
```

Stuurt een test exception naar Howler om te bevestigen dat alles werkt.

Hoe het werkt
-------------

[](#hoe-het-werkt)

Na installatie registreert de package zich automatisch als exception reporter in Laravel. Elke onafgevangen exception wordt naar Howler gestuurd met:

- Exception class, message en code
- Stack trace met code snippets (20 regels rondom de fout)
- Affected files (alleen app frames)
- Request data (method, URL, headers, body, IP)
- User data (ID, email)
- Route info (name, action)
- SQL queries met timings
- Performance metrics (duration, memory, slow queries)
- Git commit hash
- Custom context en glows

Gebruik
-------

[](#gebruik)

### Custom context

[](#custom-context)

```
use Inprovo\HowlerClient\Facades\Howler;

// Context toevoegen (beschikbaar bij volgende error)
Howler::context(['tenant_id' => 123, 'plan' => 'premium']);
```

### Glows (breadcrumbs)

[](#glows-breadcrumbs)

```
Howler::glow('Payment initiated', ['amount' => 49.99, 'provider' => 'mollie']);
Howler::glow('Webhook received', ['event' => 'payment.paid']);
```

### Handmatig rapporteren

[](#handmatig-rapporteren)

```
Howler::report(new \RuntimeException('Iets ging mis'));
```

Artisan Commands
----------------

[](#artisan-commands)

### Error management (voor Claude Code)

[](#error-management-voor-claude-code)

```
# Lijst van unresolved errors
php artisan howler:errors

# Volledige error details met stack trace en code
php artisan howler:show {error_id}

# Toon error en markeer als in progress
php artisan howler:fix {error_id}

# Markeer als resolved met optionele notitie
php artisan howler:resolve {error_id} --note="Fixed null check in PaymentService"
```

### Setup commands

[](#setup-commands)

```
php artisan howler:login       # Authenticatie
php artisan howler:logout      # Verwijder credentials
php artisan howler:init        # Project koppelen
php artisan howler:test        # Test connectie
php artisan howler:status      # Toon configuratie en status
```

Configuratie
------------

[](#configuratie)

Publiceer de config (optioneel):

```
php artisan vendor:publish --tag=howler-config
```

### .env variabelen

[](#env-variabelen)

```
HOWLER_API_KEY=hwl_...              # Automatisch ingevuld door howler:init
HOWLER_ENDPOINT=https://howler.inprovo.nl/api/errors
HOWLER_ENVIRONMENT=production       # Standaard: APP_ENV
HOWLER_SLOW_QUERY_THRESHOLD=100     # Milliseconden
HOWLER_ENABLED=true                 # Zet op false om rapportage uit te schakelen
```

### Config opties

[](#config-opties)

```
// config/howler.php

'rate_limit' => 100,          // Max errors per minuut
'max_queries' => 50,          // Max queries per error
'max_logs' => 20,             // Max log entries per error
'max_glows' => 30,            // Max glows per error

'sanitize_keys' => [          // Keys die gefilterd worden
    'password', 'token', 'secret', 'api_key',
    'authorization', 'cookie', 'credit_card',
],

'ignore_exceptions' => [      // Exceptions die niet gerapporteerd worden
    // \Symfony\Component\HttpKernel\Exception\NotFoundHttpException::class,
],
```

Vereisten
---------

[](#vereisten)

- PHP 8.2+
- Laravel 11, 12 of 13
- Guzzle 7

CLAUDE.md snippet
-----------------

[](#claudemd-snippet)

Voeg dit toe aan de `CLAUDE.md` van je project:

```
## Howler Error Tracking

Dit project is verbonden met Howler error tracking.

### Error fix workflow:
1. `php artisan howler:errors` voor openstaande errors
2. `php artisan howler:show {error_id}` voor details met code context
3. Analyseer stack trace en affected files
4. Fix de bug
5. `php artisan howler:resolve {error_id} --note="Beschrijving van de fix"`
```

Licentie
--------

[](#licentie)

MIT

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance88

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

12

Last Release

58d ago

Major Versions

v1.4.0 → v2.0.02026-04-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/29e031f96fa41a145922ec2ce0d69ef1b22b6f3ec92de5b4cc9d5ed9fcc7d05d?d=identicon)[inprovo](/maintainers/inprovo)

---

Top Contributors

[![inprovo](https://avatars.githubusercontent.com/u/6823900?v=4)](https://github.com/inprovo "inprovo (12 commits)")

### Embed Badge

![Health badge](/badges/inprovo-howler-client/health.svg)

```
[![Health](https://phpackages.com/badges/inprovo-howler-client/health.svg)](https://phpackages.com/packages/inprovo-howler-client)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

88011.3M149](/packages/spatie-laravel-health)[craftcms/cms

Craft CMS

3.6k3.6M2.9k](/packages/craftcms-cms)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[spatie/laravel-export

Create a static site bundle from a Laravel app

670139.5k6](/packages/spatie-laravel-export)[simplestats-io/laravel-client

Analytics for Laravel. Track visitors, registrations, and payments. Discover which channels actually drive revenue, not just traffic. Server-side, GDPR compliant, ad-blocker proof.

5019.3k](/packages/simplestats-io-laravel-client)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1348.1k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
