简介
在理论开发中,咱们发现在 Debug 的时候常常须要查问日志。而传统的形式是须要 SSH 到生产环境,而后应用 cat,tail 和 grep 等命令查问日志,且无奈进行日志的统计和剖析,深度开掘这些日志的价值。
本片文章的侧重点在于优雅的让 Laravel 间接将日志写入 Elasticsearch,当然你也能够抉择应用 Filebeat 采集 Laravel 的本地日志。
装置 Elasticsearch 依赖包
composer require elasticsearch/elasticsearch
.env 环境变量配置
# 批改日志存在通道
LOG_CHANNEL=elasticsearch
# 增加 elasticsearch 日志存储配置
ELASTIC_HOST=http://elasticsearch:9200 # elasticsearch 服务地址
ELASTIC_LOGS_INDEX=shopem-store-es-logs # elasticsearch 日志存储索引名
增加日志通道
在 config/logging.php
文件里的 channels
里增加如下配置
'elasticsearch' => [
'driver' => 'monolog',
'level' => 'debug',
'handler' => \Monolog\Handler\ElasticsearchHandler::class,
'formatter' => \Monolog\Formatter\ElasticsearchFormatter::class,
'formatter_with' => ['index' => env('ELASTIC_LOGS_INDEX'),
'type' => '_doc',
],
'handler_with' => ['client' => \Elasticsearch\ClientBuilder::create()->setHosts([env('ELASTIC_HOST')])->build(),],
],
在 Kibana 中查看日志