yiier / yii2-graylog-target
Graylog log target for Yii2
Installs: 6 663
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- graylog2/gelf-php: ^1.6
- yiisoft/yii2: ^2.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-12-21 23:34:13 UTC
README
Graylog log target for Yii2
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist yiier/yii2-graylog-target "*"
or add
"yiier/yii2-graylog-target": "*"
to the require section of your composer.json
file.
Configuration
return [ 'components' => [ 'log' => [ 'targets' => [ 'graylog' => [ 'class' => yiier\graylog\Target::class, 'levels' => ['error', 'warning', 'info'], // 'categories' => ['application', 'graylog'], // 'logVars' => ['_GET', '_POST', '_FILES', '_COOKIE', '_SESSION'], // 'facility' => 'facility-name', 'transport' => [ 'class' => yiier\graylog\transport\UdpTransport::class, 'host' => '127.0.0.1', 'port' => '1231', 'chunkSize' => 4321, ], 'additionalFields' => [ 'user-ip' => function ($yii) { return ($yii instanceof \yii\console\Application) ? '' : $yii->request->userIP; }, 'tag' => 'tag-name' ], ], ], ], ], ];
Transport
UDP transport
$transport = new yiier\graylog\transport\UdpTransport([ // Host name or IP. Default to 127.0.0.1 'host' => 'graylog.example.org', // UDP port. Default to 12201 'port' => 1234, // UDP chunk size. Default to 8154 'chunkSize' => 4321, ]);
TCP transport
$transport = new yiier\graylog\transport\UdpTransport([ // Host name or IP. Default to 127.0.0.1 'host' => 'graylog.example.org', // TCP port. Default to 12201 'port' => 12201, // SSL options. (optional) 'sslOptions' => [ // Default to true 'verifyPeer' => false, // Default to false 'allowSelfSigned' => true, // Default to null 'caFile' => '/path/to/ca.file', // Default to null 'ciphers' => 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256', ], ]);
HTTP transport
$transport = new yiier\graylog\transport\HttpTransport([ // Host name or IP. Default to 127.0.0.1 'host' => 'graylog.example.org', // HTTP port. Default to 12202 'port' => 12202, // Query path. Default to /gelf 'path' => '/my/custom/greylog', // SSL options. (optional) 'sslOptions' => [ // Default to true 'verifyPeer' => false, // Default to false 'allowSelfSigned' => true, // Default to null 'caFile' => '/path/to/ca.file', // Default to null 'ciphers' => 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256', ], ]);
Usage
Once the extension is installed, simply use it in your code by :
Use \yiier\graylog\Log::info
<?php \yiier\graylog\Log::info( 'Test short message', 'Test full message' ); \yiier\graylog\Log::info( 'Test short message', 'Test full message', [ 'additional1' => 'abc', 'additional2' => 'def', ], 'graylog' );
Use Yii::info
<?php // short_message will contain string representation of ['test1' => 123, 'test2' => 456], // no full_message will be sent Yii::info([ 'test1' => 123, 'test2' => 456, ]); // short_message will contain 'Test short message', // two additional fields will be sent, // full_message will contain all other stuff without 'short' and 'additional': // string representation of ['test1' => 123, 'test2' => 456] Yii::info([ 'test1' => 123, 'test2' => 456, 'short' => 'Test short message', 'additional' => [ 'additional1' => 'abc', 'additional2' => 'def', ], ]); // short_message will contain 'Test short message', // two additional fields will be sent, // full_message will contain 'Test full message', all other stuff will be lost Yii::info([ 'test1' => 123, 'test2' => 456, 'short' => 'Test short message', 'full' => 'Test full message', 'additional' => [ 'additional1' => 'abc', 'additional2' => 'def', ], ]);