https://github.com/oliwierptak/everon-logger-gelf
Logger plugins with Gelf/Graylog handler for EveronLogger
https://github.com/oliwierptak/everon-logger-gelf
gelf gelf-php logger monolog plugins semantic-versioning
Last synced: over 1 year ago
JSON representation
Logger plugins with Gelf/Graylog handler for EveronLogger
- Host: GitHub
- URL: https://github.com/oliwierptak/everon-logger-gelf
- Owner: oliwierptak
- License: mit
- Created: 2020-11-30T08:46:14.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-04T20:12:28.000Z (almost 3 years ago)
- Last Synced: 2025-01-08T17:25:02.945Z (over 1 year ago)
- Topics: gelf, gelf-php, logger, monolog, plugins, semantic-versioning
- Language: PHP
- Homepage:
- Size: 174 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EveronLoggerGelf
[](https://github.com/oliwierptak/everon-logger-gelf/actions/workflows/main.yml)
A plugin with [Graylog2](https://github.com/bzikarsky/gelf-php) handler
for [EveronLogger](https://github.com/oliwierptak/everon-logger).
- GelfHttp
- GelfTcp
- GelfUdp
_Note:_ Gelf offers several transport protocols, and could be configured via related properties
of `GelfLoggerPluginConfigurator`.
## Plugins
### GelfHttp
- Configurator
`Everon\Shared\LoggerGelf\Configurator\Plugin\GelfHttpLoggerPluginConfigurator`
- Default Options
```php
'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,
```
- Plugin
`Everon\LoggerGelf\Plugin\GelfHttp\GelfHttpLoggerPlugin`
### GelfTcp
- Configurator
`Everon\Shared\LoggerGelf\Configurator\Plugin\GelfTcpLoggerPluginConfigurator`
- Default Options
```php
'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,
```
- Plugin
`Everon\LoggerGelf\Plugin\GelfTcp\GelfTcpLoggerPlugin`
### GelfUdp
- Configurator
`Everon\Shared\LoggerGelf\Configurator\Plugin\GelfUdpLoggerPluginConfigurator`
- Default Options for `GelfUdpLoggerPluginConfigurator`
```php
'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,
```
- Plugin
`Everon\LoggerGelf\Plugin\GelfUdp\GelfUdpLoggerPlugin`
### Gelf SSL Options
- Default Options for `GelfLoggerPluginSslOptions`
```php
'verifyPeer' => true,
'allowSelfSigned' => false,
'caFile' => NULL,
'ciphers' => NULL,
'useSsl' => false,
```
- Usage
```php
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');
```
## Requirements
- PHP v8.1.x
- Monolog v3.x
## Installation
```
composer require everon/logger-gelf
```