将 Laravel 日志直接记录到 elasticsearch

时间:2021-06-09 14:57:56

标签: php laravel elasticsearch logging

目前我通过filebeat和logstash将laravel日志发送到elasticsearch, 是否可以不使用 filbeat 和 logstash 将 Laravel 日志直接发送到 elasticsearch。

1 个答案:

答案 0 :(得分:0)

您可以使用 Monolog 的 ElasticsearchHandler 做到这一点。

查看https://laravel.com/docs/8.x/logging#creating-custom-channels-via-factories如何通过工厂创建自定义日志通道。

composer require elasticsearch/elasticsearch

在您的工厂中是这样的:

public function __invoke(array $config)
{
    return new \Monolog\Logger(
        $config['name'] ?? 'defaultChannelName',
        [
            new \Monolog\Handler\ElasticsearchHandler(
                // ...
                // see phpdoc of the ElasticsearchHandler::class
            )
        ]
    );
}