everon/logger-gelf

EveronLogger 的 Gelf/Graylog 处理器的日志插件

3.0.0 2023-08-04 19:51 UTC

This package is auto-updated.

Last update: 2024-09-04 22:16:51 UTC


README

Build and run tests

这是一个为EveronLogger提供Graylog2处理器的插件。

  • GelfHttp
  • GelfTcp
  • GelfUdp

注意: Gelf 提供了多种传输协议,可以通过 GelfLoggerPluginConfigurator 的相关属性进行配置。

插件

GelfHttp

  • 配置器

    Everon\Shared\LoggerGelf\Configurator\Plugin\GelfHttpLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerGelf\Plugin\GelfHttp\GelfHttpLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => \Monolog\Level::Debug,
    'shouldBubble' => true,
    'ignoreTransportErrors' => true,
    'host' => '127.0.0.1',
    'port' => 12202,
    'path' => '/gelf',
    'sslOptions' => NULL,
  • 插件

    Everon\LoggerGelf\Plugin\GelfHttp\GelfHttpLoggerPlugin

GelfTcp

  • 配置器

    Everon\Shared\LoggerGelf\Configurator\Plugin\GelfTcpLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerGelf\Plugin\GelfTcp\GelfTcpLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => \Monolog\Level::Debug,
    'shouldBubble' => true,
    'ignoreTransportErrors' => true,
    'host' => '127.0.0.1',
    'port' => 12201,
    'sslOptions' => NULL,
  • 插件

    Everon\LoggerGelf\Plugin\GelfTcp\GelfTcpLoggerPlugin

GelfUdp

  • 配置器

    Everon\Shared\LoggerGelf\Configurator\Plugin\GelfUdpLoggerPluginConfigurator

  • GelfUdpLoggerPluginConfigurator 的默认选项

    'pluginClass' => \Everon\LoggerGelf\Plugin\GelfUdp\GelfUdpLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => \Monolog\Level::Debug,
    'shouldBubble' => true,
    'ignoreTransportErrors' => true,
    'host' => '127.0.0.1',
    'port' => 12201,
    'chunkSize' => \Gelf\Transport\UdpTransport::CHUNK_SIZE_WAN,
  • 插件

    Everon\LoggerGelf\Plugin\GelfUdp\GelfUdpLoggerPlugin

Gelf SSL 选项

  • GelfLoggerPluginSslOptions 的默认选项

    'verifyPeer' => true,
    'allowSelfSigned' => false,
    'caFile' => NULL,
    'ciphers' => NULL,
    'useSsl' => false,
  • 使用方法

    use Everon\Shared\Logger\Configurator\Plugin\LoggerConfigurator;
    use Everon\Logger\EveronLoggerFacade;
    use Everon\Shared\LoggerGelf\Configurator\Plugin\GelfHttpLoggerPluginConfigurator;
    use Everon\Shared\LoggerGelf\Configurator\Plugin\GelfTcpLoggerPluginConfigurator;
    use Everon\Shared\LoggerGelf\Configurator\Plugin\GelfUdpLoggerPluginConfigurator;
    use Monolog\Level;
    
    $gelfHttpPluginConfigurator = (new GelfHttpLoggerPluginConfigurator)
        ->setLogLevel(Level::Debug)
        ->setHost('graylog.host.http');
    
    $gelfTcpPluginConfigurator = (new GelfTcpLoggerPluginConfigurator)
        ->setLogLevel(Level::Warning)
        ->setHost('graylog.host.tcp');
    
    $gelfUdpPluginConfigurator = (new GelfUdpLoggerPluginConfigurator)
        ->setLogLevel(Level::Info)
        ->setHost('graylog.host.udp');
    
    $configurator = (new LoggerConfigurator)
        ->addPluginConfigurator($gelfHttpPluginConfigurator)
        ->addPluginConfigurator($gelfTcpPluginConfigurator)
        ->addPluginConfigurator($gelfUdpPluginConfigurator);
    
    $logger = (new EveronLoggerFacade())->buildLogger($configurator);
    
    $logger->info('lorem ipsum');

需求

  • PHP v8.1.x
  • Monolog v3.x

安装

composer require everon/logger-gelf