| Package Data | |
|---|---|
| Maintainer Username: | rummykhan |
| Maintainer Contact: | rehan_manzoor@outlook.com (Rehan Manzoor) |
| Package Create Date: | 2016-08-19 |
| Package Last Update: | 2017-08-30 |
| Home Page: | http://rehanmanzoor.me/ |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-10-22 15:08:17 |
| Package Statistics | |
|---|---|
| Total Downloads: | 107 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 0 |
| Total Watchers: | 2 |
| Total Forks: | 1 |
| Total Open Issues: | 0 |
A PHP/Laravel Package to log all the requests, with the exceptions, country and city. It will help you get insight of your visitors activiy. Built on top of torann/geoip and jenssegers/agent
Install using composer:
composer require rummykhan/xlog
Add these two service provider in app/config/app.php:
\Torann\GeoIP\GeoIPServiceProvider::class,
RummyKhan\XLog\XLogServiceProvider::class,
Publish the configuration using command:
php artisan vendor:publish
Update geoip database using command:
php artisan geoip:update
Add XLogMiddleWare to your app\Http\Kernel.php as a web middleware group:
\RummyKhan\XLog\Http\Middleware\XLogMiddleware::class,
Migrate Log Table migration:
php artisan migrate
The php artisan vendor:publish will publish Log table migration into migrations folder, geoip.php and xlog.php in config folder of you laravel installation.
In xlog.php you may specify your igonore_environments as an array, In these environment it will not log any request or response e.g.
'ignore_environments' => ['local', 'test'],
In xlog.php you may specify your db_type as string. Since laravel supported databases (mysql, sqlite, pgsql) behaves differently than laravel not supported databases, For that purpose I'm using a ProxyModel Which switch the Eloquent Mode based on database type.
E.g. For any laravel supported database you can leave it blank, For mongodb you can set it to 'mongo'.
'db_type' => 'mongodb'
Supported database types are (sqlite, mysql, pgsql, mongodb).
In xlog.php you may specify your connection as string. This connection will be used to save the logs. (By default it uses application connection)
'connection' => env('DB_CONNECTION')
Supported database types are (sqlite, mysql, pgsql, mongodb).
In xlog.php you may specify the table_name for you logs.
'table' => 'logs'
In xlog.php you may specify your routes. For now there are only three routes.
( You may specify you own routes and controllers in case you want to. All you have to do is Call the RummyKhan\XLog\Models\Log Model to get the logs.)
'routes' => [
'index' => [ 'route' => '/admin/logs', 'action' => 'XLogController@index'], // HTTP Method is GET
'detail' => [ 'route' => '/admin/logs/{id}', 'action' => 'XLogController@detail'], // HTTP Method is GET
'delete' => [ 'route' => '/admin/logs/{id}', 'action' => 'XLogController@delete'] // HTTP Method is DELETE
],
When changing routes, don't change the wildcard {id} from the routes.
In xlog.php you can specify the middleware for you log routes. By default middleware is set to auth.
'middleware' => ['auth']
Laravel rummykhan/xlog is licensed under The MIT License (MIT).