ikepu-tp / laravel-access-logger
This library stores user access logs in Laravel. You can choose between log files and databases for storage.
Fund package maintenance!
ikepu-tp
Requires
- php: ^8.2
- jenssegers/agent: ^2.6
- laravel/framework: ^10.8
README
This library stores user access logs in Laravel. You can choose between log files and databases for storage.
How to use
- First of all, migrate.
- Configure driver to be
database
orfile
- Configure keys such as
web
andapi
.- If you want to store file, also configure
logging.php
. - Add the channels whose names are keys to
logging.php
by key. (see. example below.)
- If you want to store file, also configure
- Configure guard which is used to store
user_id
(getKey()
).- Configure guard to be
false
and guards by key if you want to separate by key.
- Configure guard to be
- Configure except which is used to store request bodies(
$request->input()
) asarray
. This will be set$request->except()
. - Add
\ikepu_tp\AccessLogger\app\Http\Middleware\AccessLoggerMiddleware::class
toKernel.php
. - Add
Route::resource("logs", ikepu_tp\AccessLogger\app\Http\Controllers\LogController::class)->names("accessLogger")->only(["index",]);
to/route/web.php
if your admin want to see logs of all users. (This view shows all logs of all users. So DO NOT show for no-admin users.)
example of logging.php
'web' => [ 'driver' => 'daily', 'path' => storage_path('logs/web/laravel.log'), 'days' => 14, 'replace_placeholders' => true, ],
Contributing
Thank you for your contributions. If you find bugs, let me know them with issues.
License
Copyright (c) 2023 ikepu-tp.
This is open-sourced software licensed under the MIT license.