mdabagh/generatelog

此包的最新版本(v1.0.2)没有提供许可信息。

生成日志

v1.0.2 2023-05-08 05:35 UTC

This package is auto-updated.

Last update: 2024-09-08 08:56:02 UTC


README

使用 GenerateLog 包,您可以轻松且准确地存储您的程序日志,无论是在数据库还是存储中。此包提供自定义日志信息的能力,例如将 IP 地址、用户信息和执行文件信息添加到日志中。

此外,您可以在 env 文件中轻松设置日志级别。例如,您可以暂时禁用信息日志,稍后根据需要重新激活它们。

GenerateLog 包提供可定制的功能、易于使用以及以精确和质量高的方式管理程序日志的能力。

功能

  • 自定义日志信息:使用 Laravel Custom Logger,您可以记录附加信息,例如 IP 地址、用户信息和文件执行信息。您可以根据具体需求轻松自定义要记录的信息。

  • 细粒度控制:此包提供了对日志级别的细粒度控制。您可以选择仅记录最重要的消息,或者记录所有内容以进行详细调试。

  • 双存储:您可以选择同时将日志存储在数据库和存储中。这允许在某个存储位置失败时备份日志。

安装

要安装此包,请运行以下命令

composer require mdabagh/generatelog

用法

要使用此包,您需要在代码中包含 GLogFactory

use Mdabagh\GenerateLog\GLogFactory;

然后,您可以通过调用 make 方法来生成日志文件

GLogFactory::create($type, $message, $data, $exception, $request, $response);

make 方法需要六个参数

  • $type:日志消息的类型(info、warning、debug 或 error)。
  • $message:要记录的消息。
  • $data:要包含在日志文件中的附加数据。
  • $exception:异常对象(如果有的话)。
  • $request:HTTP 请求对象(如果有的话)。
  • $response:HTTP 响应对象(如果有的话)。

配置

要配置 GenerateLog,您可以在 Laravel 应用程序的 .env 文件中设置以下环境变量

GLOG_STATE_ACTIVE

此变量指定是否使用数据库(db)、文件系统(storage)或两者(dbAndStorage)来存储日志文件。默认情况下,它设置为 storage

GLOG_STATE_ACTIVE 设置为 storage 时,GenerateLog 使用 Laravel 的内置日志功能来生成日志文件。您的 Laravel 应用程序中的 config/logging.php 文件指定了日志文件的位置和格式。

默认情况下,Laravel 将日志文件存储在 storage/logs 目录中。您可以通过修改 config/logging.php 文件中的 path 选项来更改此位置。例如,要将日志文件存储在 storage/app 目录下的 logs 子目录中,您可以按照以下方式更改 path 选项

'path' => storage_path('app/logs/laravel.log'),

您还可以通过修改 config/logging.php 文件中的 channels 选项来更改日志文件的格式。例如,要将消息记录为 JSON 格式,您可以添加新的通道如下

'json' => [
    'driver' => 'single',
    'path' => storage_path('logs/laravel.json'),
    'level' => 'debug',
],

然后,您可以在 .env 文件中将 GLOG_STATE_ACTIVE 设置为 storage 以启用对文件系统的日志记录

GLOG_STATE_ACTIVE=storage

如果您想使用数据库来存储日志文件,可以将 GLOG_STATE_ACTIVE 设置为 db。在这种情况下,您还需要运行 Logging 迁移来创建必要的数据库表

php artisan migrate

GLOG_TYPE_INFO_ACTIVE, GLOG_TYPE_WARNING_ACTIVE, GLOG_TYPE_DEBUG_ACTIVE, GLOG_TYPE_ERROR_ACTIVE

这些变量指定是否记录特定类型的消息(infowarningdebugerror)。默认情况下,所有类型都设置为 true

示例用法

GLOG_TYPE_INFO_ACTIVE=false
GLOG_TYPE_WARNING_ACTIVE=true
GLOG_TYPE_DEBUG_ACTIVE=true
GLOG_TYPE_ERROR_ACTIVE=true

请注意,如果您更改这些环境变量的任何值,可能需要重新启动应用程序才能使更改生效。

参考文献

许可证

GenerateLog 是开源软件,受 MIT 许可证 许可。