php中文网最新课程
每日17点准时技术干货分享
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/librdkafkapecl install rdkafka
2.安装 laravel-kafka-logger
# Laravel 5.xcomposer require "hhxsv5/laravel-kafka-logger:~1.0.0"# Laravel 6.x & 7.xcomposer 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=kafkaLOG_KAFKA_BROKER_LIST=kafka:9092LOG_KAFKA_TOPIC=laravel-logs
3.好了,开始记日志
Log::info('用户登录', ['uid-hhxsv5']);
注:在什么情况下才需要使用到 kafka 来做日志存储?一是便于集中收集日志,不必每台机器装个客户端收集日志;二是Kafka是异步写入,性能更高。
▼