mohsen-mhm / laravel-tracking
A tracking package for Laravel applications
Installs: 601
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Language:Blade
Requires
- php: ^8.0
- doctrine/dbal: ^3.6 || ^4.2
- illuminate/database: ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0
README
Introduction
The Laravel Request Tracker package provides an easy way to log incoming HTTP requests, including metadata like headers, body, user details, and responses. It supports dynamic configuration for themes, logging preferences, and route customization.
Features
- Logs user details, headers, body, and response.
- Tracks IP address and User-Agent.
- Configurable logging options.
- Supports Bootstrap and Tailwind CSS themes for the log viewer. (soon)
- Route URL customization.
- Migration publishing for database setup.
Compatibility
Laravel Version Support
This package supports Laravel 9, 10, and 11.
We ensure compatibility with the latest Laravel versions while maintaining support for older versions starting from Laravel 9.
To install the package in your Laravel project, make sure you have PHP 8.0
or above and run:
composer require mohsen-mhm/laravel-tracking
For Laravel 9, the package ensures compatibility by leveraging doctrine/dbal
version ^3.x
. For Laravel 10 and 11, the package uses doctrine/dbal
version ^4.x
. These are dynamically managed based on your Laravel version.
Installation
-
Install the package via Composer:
composer require mohsen-mhm/laravel-tracking
-
Publish the configuration file:
php artisan vendor:publish --tag=tracker-configs
-
Publish the migrations:
php artisan vendor:publish --tag=tracker-migrations
-
Run the migrations:
php artisan migrate
-
Publish the views (optional):
php artisan vendor:publish --tag=tracker-views
Configuration
The configuration file (config/tracking.php
) allows you to control the package's behavior:
Usage
Middleware
The TrackRequests
middleware handles request logging. You can add it to your middleware stack:
protected $middleware = [ \MohsenMhm\LaravelTracking\Http\Middleware\TrackRequests::class, ];
Accessing the Logs
Visit the route defined in the configuration (route_url
) to view the logs. For example:
http://your-app.test/request-logs
Publishing Migrations
To customize the database schema for logging, publish and modify the migrations:
php artisan vendor:publish --tag=tracker-migrations
Customizing the Route
You can change the route URL in the configuration file:
'route_url' => 'custom-log-url',
Access the logs at:
http://your-app.test/custom-log-url
Custom IP Resolution
You can define your own IP resolution logic by setting a callback in your config/tracking.php
:
'ip_resolver' => function (Request $request) { return $request->header('X-Forwarded-For') ?? $request->ip(); },
License
This package is open-source software licensed under the MIT license.