takshak/alogger

laravel 的 Imager 提供器包

1.4.0 2022-03-08 15:47 UTC

This package is auto-updated.

Last update: 2024-09-08 21:16:55 UTC


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: 您可以通过设置此值 truefalse 来禁用或启用记录器

routes: 是否要启用预定义路由 (https://example.com/aloggers) 以查看所有日志 truefalse

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 45 兼容

<x-alogger-loggers /> 此组件可用于在任意页面上显示所有日志。它具有一些搜索和筛选功能以及用于显示日志详细信息的弹出窗口的查看按钮。您可以通过传递 paginate 属性来显示每页的项目数,默认为 50,以及通过传递 order 属性来按 oldestlatest 排序列表,默认值为 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