Download the PHP package bilfeldt/laravel-route-statistics without Composer
On this page you can find all versions of the php package bilfeldt/laravel-route-statistics. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bilfeldt/laravel-route-statistics
More information about bilfeldt/laravel-route-statistics
Files in bilfeldt/laravel-route-statistics
Package laravel-route-statistics
Short Description Log statistics about route usage per user/team
License MIT
Homepage https://github.com/bilfeldt/laravel-route-statistics
Informations about the package laravel-route-statistics
Log Laravel route usage statistics
Log Laravel requests and responses for statistical purposes and optionally aggregate by hours/days/months for minimal db requirements.
Version | Laravel | PHP |
---|---|---|
1.* | 8. | 9. | 7.4. | 8.0. | 8.1.* |
2.* | 10.* | 8.1. | 8.2. |
3.* | 11.* | 8.1. | 8.2. | 8.3.* |
Description
Log requests and group them together for aggregated statistics of route usage. Grouping requests by route means that this package saves a minimum of data to the database and subsequent purging of old data can improve this even further.
This package lets you:
- See how much each user uses the application and what part of the application they use
- See if any unauthenticated users are making a lot of requests to your application
Installation
You can install the package via composer:
You can publish and run the migrations with:
You can publish the config file with:
Usage
There are a few ways to enable logging of route usage:
Enable global logging
This will enable site-wide logging and although being the easiest implementation this might not be exactly what you are looking for (consider only logging relevant routes using the middleware approach below)
Simply add RouteStatisticsMiddleware
as a global middleware in app/Http/Kernel.php
Enable via middleware
Instead of adding RouteStatisticsMiddleware
as a global middleware then it can be added to certain routes or route groups using:
Enable using request macro
It is possible to enable logging ad-hoc, usually within a controller, which is useful for any conditional logging:
Artisan commands
This package comes with two neat Artisan commands:
route:stats
: An easy way to see route statistics for certain relevant routes.route:unused
: A neat way to list the routes without any logs. Be aware that the routes should also be logged for this to be useful.
How it works
This package works as follows:
- Tag the request for logging: Can be done using middleware or request helper
- (optional) Add any context data which will be used when logging: A common use case is adding relevant route parameters like a
team_id
for example - Log the request: Persist the log record to the database - the following will be logged when using the default logger:
user_id
: The authenticated user (if any)team_id
: The team id associated with the request (if available)method
: The HTTP method (GET/POST/...
)route
: The route name (if available) or the route URI (eg/posts/{post}
)parameters
: The route parameters passed (if enabled elsenull
)status
: The HTTP status (eg202
)ip
: The request ipdate
: The date of the request as datetime (can be aggregated)counter
: Number of requests logged when aggregating records by minute/hour/day/month...
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Anders Bilfeldt
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-route-statistics with dependencies
bilfeldt/laravel-request-logger Version ^3.0
illuminate/contracts Version ^10.0 || ^11.0
laravel/framework Version ^10.0 || ^11.0