当前位置:  开发笔记 > 后端 > 正文

你会将 Laravel 的日志推到 Kafka吗

LaravelKafkaLogger使用扩展包laravel-kafka-logger将Laravel的日志推到Kafka,然后由ELK消费、存储、呈现。要求依赖要求php-rdkafka>4.0.0依赖安装1.安装rdkafkagitclone--depth1https:...

下面由Laravel教程栏目给大家介绍将 Laravel 的日志推到 Kafka的方法,希望对需要的朋友有所帮助!

Laravel Kafka Logger

使用扩展包 laravel-kafka-logger 将 Laravel 的日志推到 Kafka,然后由 ELK 消费、存储、呈现。

要求

依赖要求
php-rdkafka>=4.0.0

依赖安装

1.安装 rdkafka

git clone --depth 1 https://github.com/edenhill/librdkafka.git /tmp/librdkafka && cd /tmp/librdkafka && ./configure && make -j$(nproc) && make install && rm -rf /tmp/librdkafka
pecl install rdkafka

2.安装 laravel-kafka-logger

# Laravel 5.x
composer require "hhxsv5/laravel-kafka-logger:~1.0.0"
# Laravel 6.x & 7.x
composer require "hhxsv5/laravel-kafka-logger:~2.0.0"

开始使用

1.修改配置文件 config/logging.php

return [
    'channels' => [
        // ...
        'kafka' => Hhxsv5\LKL\KafkaLogger::getDefinition(['topic' => env('LOG_KAFKA_TOPIC', 'laravel-logs')]),
    ],
];

2.修改 .env

LOG_CHANNEL=kafka
LOG_KAFKA_BROKER_LIST=kafka:9092
LOG_KAFKA_TOPIC=laravel-logs

3.好了,开始记日志

Log::info('用户登录', ['uid-hhxsv5']);

注:

在什么情况下才需要使用到 kafka 来做日志存储?

一是便于集中收集日志,不必每台机器装个客户端收集日志;

二是 Kafka 是异步写入,性能更高。

以上就是你会将 Laravel 的日志推到 Kafka吗的详细内容,更多请关注其它相关文章!

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有