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: | 2024-11-19 03:08:22 |
Package Statistics | |
---|---|
Total Downloads: | 107 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 3 |
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).