outl1ne/ laravel-elastic-logger
Laravel Elastic Cloud 记录 MessageLogged 事件的日志。
1.2.0
2023-02-07 07:50 UTC
Requires
- php: >=8.0
- elasticsearch/elasticsearch: ^8.5
- laravel/framework: ^8.7 || ^9.0
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
的模式创建索引。
- 创建账户
- 创建一个新实例。
- 创建一个新的 Kibana 数据视图。选择一个名称,并将索引模式与您创建的索引名称相匹配。Kibana 允许使用通配符。
选择 "datetime" 字段作为时间戳字段!这是允许基于时间戳方便过滤的重要条件。
Elastic 能够动态创建新索引,但您无法稍后更改时间戳字段,这会导致没有适当的日期时间过滤器。
保存数据视图,在分析中的 "发现" 部分查看您刚创建的数据视图。
未来将带来什么
- 生命周期策略管理
许可
此项目是开源软件,根据 MIT 许可证 许可。