多服务器分布式架构下 Laravel 的日志如何统一管理

请问下大家:
多服务器、分布式架构下 Laravel 的日志如何统一管理?
希望可以做到多服务器的日志文件整合在一起,方便日志查看。
有经验的伙伴,请分享一下,谢谢。

tip:
我有了解到可以使用 ELK 搭建分布式日志收集系统,但我觉得这个太重了,就想问下有没有其他简单的方案。

目前项目使用的 Laravel 版本为 5.8,项目部署在 n 个服务器上,每个服务器上都是同一套代码在运行。

<?php
// config/logging.php 配置
return [
    'default' => env('LOG_CHANNEL', 'stack'),

    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['daily'],
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 15,
        ],
    ],
];
编程就像呼吸,学会那天起一日不敢荒废。
ZsmHub
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

可以直接写本地文件然后用 Filebeat 收集再发送到 Elasticsearch 或者直接用让 Laravel 将日志写入 Elasticsearch,可以参考 betterde/logger 这个包

3年前 评论
讨论数量: 9

没有,上elk吧

3年前 评论

一般分布式之后都会有各自的日志系统,如果没有elk是个不错的选择

3年前 评论

可以直接写本地文件然后用 Filebeat 收集再发送到 Elasticsearch 或者直接用让 Laravel 将日志写入 Elasticsearch,可以参考 betterde/logger 这个包

3年前 评论

我们的多服务器mount了同一个NAS,所以代码能统一,log也写在一个文件上

elk并不是想上就上的,上边如果不同意只能另找别的办法了

3年前 评论

github.com/crcms/logger 这是我之前写的包,最开始前期我们3台主机,6个左右的应用日志全部导入到Mongodb里面去了。

3年前 评论
ZsmHub

@hiword 使用 mongodb 存储日志的方案是不错的,但是你的包貌似没写明如何整合多个分布式架构的 Laravel 日志

3年前 评论
hiword 3年前
ZsmHub

@songxue77 说的对,ELK 确实不是想上就可以上的。NAS 方案没试过,我再了解下哈

3年前 评论
jcc123

阿里云提供的 log4j 怎么样,这里抛出来,供大家讨论

3年前 评论
fatrbaby

多服务器不一定是分布式

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!