yiier/yii2-graylog-target

Graylog log target for Yii2

Maintainers

👁 forecho

Package info

github.com/yiier/yii2-graylog-target

Type:yii2-extension

pkg:composer/yiier/yii2-graylog-target

Statistics

Installs: 10 993

Dependents: 1

Suggesters: 0

Stars: 1

Open Issues: 0

v1.1.0 2020-03-21 11:19 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause bab3596bde386c9fdbc15b473943033956f6a876

  • forecho <caizhenghai.woop@gmail.com>

extensionyii2graylog

This package is auto-updated.

Last update: 2026-06-22 03:02:47 UTC


README

Graylog log target for Yii2

👁 Latest Stable Version
👁 Total Downloads
👁 Latest Unstable Version
👁 License

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',
 ],
]);

Reference