betomk / laravel12-tracker
A Laravel Visitor Tracker for Laravel 12 - Tracking-only fork of deivide/laravel-tracker (pragmarx/tracker). Stats panel / Datatables removed.
Requires
- php: ^8.2
- betomk/laravel12-support: ^1.0
- doctrine/dbal: ^3.1|^4.0
- jaybizzle/crawler-detect: ~1.0
- jenssegers/agent: ~2.1
- laravel/framework: ^10|^11|^12
- psr/log: ^1.1 || ^2.0 || ^3.0
- ramsey/uuid: ^3 || ^4
- snowplow/referer-parser: ~0.1
- ua-parser/uap-php: ~3.4
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
- geoip/geoip: ~1.14
- geoip2/geoip2: ~2.0
This package is auto-updated.
Last update: 2026-08-10 20:15:28 UTC
README
Public fork of deivide/laravel-tracker (originally pragmarx/tracker), adapted for Laravel 10 / 11 / 12.
This package records visitor/session data. The SB Admin stats panel and Datatables dependency were removed.
Namespace remains PragmaRX\Tracker for drop-in compatibility.
Requirements
- PHP
^8.2 - Laravel
^10|^11|^12 - Optional:
geoip/geoiporgeoip2/geoip2for GeoIP
Install from GitHub (Composer VCS)
Both repositories are public:
In your Laravel app composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/BetoMK/laravel12-tracker"
},
{
"type": "vcs",
"url": "https://github.com/BetoMK/laravel12-support"
}
],
"require": {
"betomk/laravel12-tracker": "^1.0"
}
}
Then:
composer update betomk/laravel12-tracker
php artisan vendor:publish --provider="PragmaRX\Tracker\Vendor\Laravel\ServiceProvider"
Configure a tracker database connection if you use a separate DB, then:
php artisan tracker:tables php artisan migrate
Enable tracking in config/tracker.php:
'enabled' => true, 'log_enabled' => true, 'use_middleware' => true,
Register the middleware (Laravel 11/12 bootstrap/app.php):
->withMiddleware(function (Middleware $middleware) { $middleware->web(append: [ \PragmaRX\Tracker\Vendor\Laravel\Middlewares\Tracker::class, ]); })
Or in legacy app/Http/Kernel.php, append the same class to the web middleware group.
What is tracked
Enable individual features in config/tracker.php (log_users, log_geoip, log_sql_queries, etc.). By default most options are off; start with log_enabled.
Facade:
$visitor = Tracker::currentSession();
Not included
- Stats panel UI / SB Admin templates
pragmarx/datatables/ Bllim Datatables
License
MIT (see LICENSE).