techfy/got-your-logs

一个用于将操作记录到每日JSON文件的Laravel包。

v1.0.0 2024-08-21 17:17 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:32:28 UTC


README

Got Your Logs是一个Laravel包,允许您记录Laravel项目中的每个操作。日志存储在每日JSON文件中,日志格式可自定义以满足您的需求。此包旨在易于使用并集成到任何Laravel应用程序中。

特性

  • 自动记录:通过简单的方法调用记录Laravel应用程序中的任何操作或事件。
  • 每日JSON文件:日志存储在每日JSON文件中,便于管理和审查。
  • 可自定义格式:修改日志格式以包含您所需的信息。
  • 简单集成:易于安装和使用在任意的Laravel项目中。

安装

要安装techfy/got-your-logs包,请按照以下步骤操作

步骤 1:要求包

您可以使用Composer进行安装

composer require techfy/got-your-logs

步骤 2:注册服务提供者和外观

安装后,在您的config/app.php文件中注册服务提供者和外观

'providers' => [
    // Other Service Providers
    Techfy\GotYourLogs\GotYourLogsServiceProvider::class,
],

'aliases' => [
    // Other Aliases
    'GotYourLogs' => Techfy\GotYourLogs\LogFacade::class,
],

步骤 3:发布配置文件

要自定义日志格式和存储位置,您可以发布配置文件

php artisan vendor:publish --tag=config --provider="Techfy\GotYourLogs\GotYourLogsServiceProvider"

这将创建一个config/gotyourlogs.php文件在您的Laravel项目中。

用法

记录操作

您可以使用GotYourLogs外观在Laravel应用程序中记录任何操作或事件。以下是如何记录用户登录操作的示例

use GotYourLogs;

GotYourLogs::log('UserLogin', [
    'user_id' => auth()->user()->id,
    'status' => 'success',
    'ip_address' => request()->ip(),
]);

日志文件结构

日志存储在以当前日期命名的JSON文件中(例如,2024-08-21.json)。每个日志条目包括时间、操作名称和操作细节。一个示例日志条目可能如下所示

{
    "time": "2024-08-21 09:15:32",
    "operation": "UserLogin",
    "details": {
        "user_id": 101,
        "status": "success",
        "ip_address": "192.168.1.10"
    }
}

自定义日志格式

您可以通过编辑config/gotyourlogs.php文件来自定义日志格式。默认配置如下所示

return [
    'log_format' => [
        'time' => 'Y-m-d H:i:s',
        'operation' => '',
        'details' => '',
    ],
    'storage_path' => storage_path('logs/got-your-logs'),
];
  • time:日志中时间戳的格式。您可以修改它以匹配您首选的日期/时间格式。
  • operation:正在记录的操作或事件的名称。
  • details:关于操作的附加细节。

修改存储路径

默认情况下,日志存储在storage/logs/got-your-logs/目录中。您可以通过修改config/gotyourlogs.php文件中的storage_path键来更改存储路径

'storage_path' => storage_path('custom-logs-directory'),

贡献

欢迎贡献!如果您发现错误或有新特性的想法,请打开一个问题或提交一个pull请求。

许可

Got Your Logs是开源软件,使用MIT许可证许可