Laravel 使用 Elasticsearch 作为日志存储

码农天地 -
Laravel 使用 Elasticsearch 作为日志存储

简介

在实际开发中,我们发现在 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'        => MonologHandlerElasticsearchHandler::class,
    'formatter'      => MonologFormatterElasticsearchFormatter::class,
    'formatter_with' => [
        'index' => env('ELASTIC_LOGS_INDEX'),
        'type'  => '_doc',
    ],
    'handler_with'   => [
        'client' => ElasticsearchClientBuilder::create()->setHosts([env('ELASTIC_HOST')])->build(),
    ],
],

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

phpelasticsearchlaravel

扩展阅读

加个好友,技术交流

1628738909466805.jpg