outl1ne/laravel-elastic-logger

Laravel Elastic Cloud 记录 MessageLogged 事件的日志。

1.2.0 2023-02-07 07:50 UTC

This package is auto-updated.

Last update: 2024-09-07 11:23:51 UTC


README

此包将监听 Illuminate\Log\Events\MessageLogged 事件,并将日志数据排队发送到您的队列处理程序以发送到 Elastic Kibana 索引。

它将监听所有日志事件,并将异常单独处理。

要求

- PHP >=8.0
- laravel/framework ^8.7 || ^9.0

依赖项

"elasticsearch/elasticsearch": "^8.5"

重要通知

不要记录 Queue::before / after 事件。这会导致日志无限循环,并可能导致您的应用程序崩溃。

通常要小心日志循环的可能性。

与 redis 和数据库队列驱动程序进行了测试。

如果您在 Google Cloud 上工作,请考虑设置 stackkits laravel-google-cloud-tasks-queue

安装

安装包

composer require outl1ne/laravel-elastic-logger

配置包的环境变量

ELASTIC_ENABLED=true # only 'true' value will enable MessageLogged event being listened
ELASTIC_INDEX= # index where to send the logs
ELASTIC_CLOUD_ID= # your elastic instance cloud ID
ELASTIC_API_KEY= # your elastic API key
ELASTIC_EXCLUDE_LOG_LEVELS= # comma separated log levels to be excluded, IE: "info,warning"
ELASTIC_LIFECYCLE_POLICY= # lifecycle policy name for setting: body.settings.index.lifecycle.name. if not assigned not set.

确保您的 队列处理程序 已正确配置

快速设置 Elastic 的备忘单/快速指南。

Elastic 提供为期 14 天的免费试用。

此包将根据 ELASTIC_INDEX 值为您自动生成索引。它将以 ELASTIC_INDEX + _ + d-m-Y 的模式创建索引。

  1. 创建账户
  2. 创建一个新实例。
  3. 创建一个新的 Kibana 数据视图。选择一个名称,并将索引模式与您创建的索引名称相匹配。Kibana 允许使用通配符。
选择 "datetime" 字段作为时间戳字段!这是允许基于时间戳方便过滤的重要条件。

Elastic 能够动态创建新索引,但您无法稍后更改时间戳字段,这会导致没有适当的日期时间过滤器。

保存数据视图,在分析中的 "发现" 部分查看您刚创建的数据视图。

未来将带来什么

  • 生命周期策略管理

许可

此项目是开源软件,根据 MIT 许可证 许可。