takshak / alogger
laravel 的 Imager 提供器包
README
可以通过中间件或自定义代码记录/记录用户活动。它有一个路由中间件 Alogger::class,并提供视图组件来在管理/用户面板中查看日志列表和详细信息。
快速入门
使用以下命令安装
composer require takshak/alogger
使用 php artisan migrate 运行迁移,日志表将进行迁移。在分组或单独的路由中使用 Alogger::class
中间件。
use Takshak\Alogger\Http\Middleware\Alogger;
/* *
...
Route::middleware([Alogger::class])->group(function(){
Route::view('/', 'home');
/* *
...
});
通过 https://domain.com/aloggers
查看所有记录的日志
更多信息
所有日志都将存储在日志表。您可以在 alogger.php
中设置您的偏好。运行以下命令以发布配置。
php artisan vendor:publish --provider="Takshak\Alogger\AloggerServiceProvider"
配置 (alogger.php)
log:
您可以通过设置此值 true 或 false 来禁用或启用记录器
routes:
是否要启用预定义路由 (https://example.com/aloggers) 以查看所有日志 true 或 false
record:
设置要记录的所有可用属性。 status 键将定义此参数是否需要记录。 except 键将忽略(不记录)匹配的值
except:
传递一些 alogger 不会工作的 URL,matches: 传递一些 URL 部分,如果当前 URL 与这些值中的任何一个匹配,则不会记录日志。 urls: 传递 alogger 不会记录任何数据的精确 URL
max_rows:
数据库中存储的最大行数
max_days:
天数。这些天之后的日志将被删除
命令
php artisan alogger:prune
这将根据 max_rows 和 max_days 删除日志。将删除超过 max_rows 且早于 max_days 的日志。您可以在计划程序中设置此命令以管理删除旧日志。
php artisan alogger:prune
将从数据库中清除/刷新所有日志。
组件
它有两个组件,与 bootstrap 4 或 5 兼容
<x-alogger-loggers />
此组件可用于在任意页面上显示所有日志。它具有一些搜索和筛选功能以及用于显示日志详细信息的弹出窗口的查看按钮。您可以通过传递 paginate
属性来显示每页的项目数,默认为 50,以及通过传递 order
属性来按 oldest 或 latest 排序列表,默认值为 latest。例如:<x-alogger-loggers paginate="100" order='latest' />
<x-alogger-logger logger-id="" />
此组件将显示日志的详细信息。您需要传递要查看详细信息的日志 ID
手动使用 alogger
您可以使用 Alogger 服务
从控制器或任何其他地方手动记录日志。
use namespace Takshak\Alogger\Service;
/* * * /
$alogger = new Alogger;
$alogger->log(data: $data, remarks $remarks);
/* OR */
(new Alogger)->log(data: $data, remarks $remarks);
/* * Setting different properties * */
(new Alogger)->remarks('your remarks goes here')
->data($dataArray)
->user($userId_or_userModel)
->log();
可用于与 Alogger 服务一起使用的方法
如果您想做出贡献,有任何建议或想发表意见,请写信至 takshaktiwari@gmail.com