当前位置: 首页 > 后端技术 > PHP

Laravel使用Elasticsearch作为日志存储

时间:2023-03-30 03:13:48 PHP

介绍在实际开发中,我们发现在调试的时候经常需要查询日志。传统方式是SSH到生产环境,然后使用cat、tail、grep等命令查询日志,无法对日志进行统计分析,深入挖掘这些日志的价值。本文的重点是让Laravel优雅地将日志直接写入Elasticsearch。当然你也可以选择使用Filebeat来收集Laravel的本地日志。安装Elasticsearch依赖包composerrequireelasticsearch/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(),],,