suver/yii2-logger

log target for Yii2

Installs: 532

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

Type:yii2-extension

1.0.3-stable 2017-04-26 14:03 UTC

This package is not auto-updated.

Last update: 2024-04-19 20:34:55 UTC


README

Credits

Benjamin Zikarsky https://github.com/bzikarsky/gelf-php

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require "suver/yii2-logger" "*"

or add

"suver/yii2-logger" : "*"

to the require section of your application's composer.json file.

Usage

Add Graylog target to your log component config:

<?php
return [
    ...
    'components' => [
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                'file' => [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
                'graylog' => [
                    'class' => 'suver\logger\GraylogTarget',
                    'levels' => ['error', 'warning', 'info'],
                    'categories' => ['application'],
                    'logVars' => [], // This prevent yii2-debug from crashing ;)
                    'type' => 'udp', // tcp, udp, amqp
                    'transport' => [
                        'host' => 'graylog',
                        'port' => '12201',
                    ],
                    'facility' => 'facility-name',
                ],
            ],
        ],
    ],
    ...
];
<?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 'add':
// string representation of ['test1' => 123, 'test2' => 456]
Yii::info([
    'test1' => 123,
    'test2' => 456,
    'short' => 'Test short message',
    'add' => [
        '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',
    'add' => [
        'additional1' => 'abc',
        'additional2' => 'def',
    ],
]);