mdabagh / generatelog
生成日志
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
这些变量指定是否记录特定类型的消息(info
、warning
、debug
或 error
)。默认情况下,所有类型都设置为 true
。
示例用法
GLOG_TYPE_INFO_ACTIVE=false
GLOG_TYPE_WARNING_ACTIVE=true
GLOG_TYPE_DEBUG_ACTIVE=true
GLOG_TYPE_ERROR_ACTIVE=true
请注意,如果您更改这些环境变量的任何值,可能需要重新启动应用程序才能使更改生效。
参考文献
许可证
GenerateLog 是开源软件,受 MIT 许可证 许可。