everon / logger-gelf
EveronLogger 的 Gelf/Graylog 处理器的日志插件
3.0.0
2023-08-04 19:51 UTC
Requires
- php: ^8.1
- everon/logger: ^3
- graylog2/gelf-php: ^2
Requires (Dev)
- ext-json: *
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10
- popo/generator: ^6
- symfony/var-dumper: ^5|^6
This package is auto-updated.
Last update: 2024-09-04 22:16:51 UTC
README
这是一个为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