All Projects → ytake → Laravel-FluentLogger

ytake / Laravel-FluentLogger

Licence: MIT license
fluent logger for laravel (with Monolog handler for Fluentd)

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Laravel-FluentLogger

fluent-forward-go
A high-performance Go client for Fluentd and Fluent Bit
Stars: ✭ 26 (-52.73%)
Mutual labels:  logger, fluentd
fluency
High throughput data ingestion logger to Fluentd, AWS S3 and Treasure Data
Stars: ✭ 135 (+145.45%)
Mutual labels:  logger, fluentd
Logback More Appenders
Extra appenders for Logback.
Stars: ✭ 93 (+69.09%)
Mutual labels:  logger, fluentd
hapi-good-winston
A good reporter to send and log events with winston
Stars: ✭ 21 (-61.82%)
Mutual labels:  logger
signature
HMAC and RSA signature for Laravel and Lumen
Stars: ✭ 26 (-52.73%)
Mutual labels:  lumen
logging-operator
A golang based operator to create and manage EFK (Elasticsearch, Fluentd, and Kibana) stack on Kubernetes
Stars: ✭ 42 (-23.64%)
Mutual labels:  fluentd
herald
Log annotation for logging frameworks
Stars: ✭ 71 (+29.09%)
Mutual labels:  logger
winston-dev-console
Winston@3 console format aimed to improve development UX
Stars: ✭ 88 (+60%)
Mutual labels:  logger
benotes
An open source self hosted notes and bookmarks taking web app.
Stars: ✭ 260 (+372.73%)
Mutual labels:  lumen
fluent-plugin-redis
Redis output plugin for Fluent event collector
Stars: ✭ 40 (-27.27%)
Mutual labels:  fluentd
cache
Laravel & Lumen Cache Service | File and Redis cache system
Stars: ✭ 19 (-65.45%)
Mutual labels:  lumen
babel-plugin-js-logger
Babel plugin to enable js-logger in your entire project efficiently.
Stars: ✭ 12 (-78.18%)
Mutual labels:  logger
sprout
Golang logging library supporting log retrieval.
Stars: ✭ 85 (+54.55%)
Mutual labels:  logger
paper-wallet
stellar.github.io/paper-wallet/
Stars: ✭ 41 (-25.45%)
Mutual labels:  lumen
fluent-plugin-ec2-metadata
Fluentd output plugin to add Amazon EC2 metadata into messages
Stars: ✭ 43 (-21.82%)
Mutual labels:  fluentd
libfluent
Library to send log as fluentd forwarding message
Stars: ✭ 24 (-56.36%)
Mutual labels:  fluentd
fluent-plugin-grok-parser
Fluentd's Grok parser
Stars: ✭ 100 (+81.82%)
Mutual labels:  fluentd
capybara-chromedriver-logger
Enables console.log/error/info output from Javascript feature specs running with Chromedriver
Stars: ✭ 54 (-1.82%)
Mutual labels:  logger
telegram-log
Send a Telegram message when your scripts fire an exception or when they finish their execution.
Stars: ✭ 16 (-70.91%)
Mutual labels:  logger
logger
☠ 😈 👀 Simple,Secure & Undetected (6.11.2017) keylogger for Windows :)
Stars: ✭ 37 (-32.73%)
Mutual labels:  logger

laravel-fluent-logger

fluent logger for laravel (with Monolog handler for Fluentd )

fluentd

Tests Coverage Status Scrutinizer Code Quality

License Latest Version Total Downloads

usage

Installation For Laravel

Require this package with Composer

$ composer require ytake/laravel-fluent-logger

or composer.json

"require": {
  "ytake/laravel-fluent-logger": "^5.0"
},

Supported Auto-Discovery(^Laravel5.5)

for laravel

your config/app.php

'providers' => [
    \Ytake\LaravelFluent\LogServiceProvider::class,
]

publish configure

  • basic
$ php artisan vendor:publish
  • use tag option
$ php artisan vendor:publish --tag=log
  • use provider
$ php artisan vendor:publish --provider="Ytake\LaravelFluent\LogServiceProvider"

for Lumen

use Ytake\LaravelFluent\LumenLogServiceProvider

bootstrap/app.php

$app->register(\Ytake\LaravelFluent\LumenLogServiceProvider::class);

Lumen will use your copy of the configuration file if you copy and paste one of the files into a config directory within your project root.

cp vendor/ytake/laravel-fluent-logger/src/config/fluent.php config/

Config

edit config/fluent.php

return [

    'host' => env('FLUENTD_HOST', '127.0.0.1'),

    'port' => env('FLUENTD_PORT', 24224),

    /** @see https://github.com/fluent/fluent-logger-php/blob/master/src/FluentLogger.php */
    'options' => [],

    /** @see https://github.com/fluent/fluent-logger-php/blob/master/src/PackerInterface.php */
    // specified class name
    'packer' => null,
    
    // optionally override Ytake\LaravelFluent\FluentHandler class to customize behaviour
    'handler' => null,
    
    'processors' => [],

    'tagFormat' => '{{channel}}.{{level_name}}',
];

added config/logging.php

return [
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            // always added fluentd log handler
            // 'channels' => ['single', 'fluent'],
            // fluentd only
            'channels' => ['fluent'],
        ],

        'fluent' => [
            'driver' => 'fluent',
            'level' => 'debug',
        ],
        
        'single' => [
            'driver' => 'single',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
        ],

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => 'debug',
            'days' => 7,
        ],

        'slack' => [
            'driver' => 'slack',
            'url' => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => 'Laravel Log',
            'emoji' => ':boom:',
            'level' => 'critical',
        ],

        'syslog' => [
            'driver' => 'syslog',
            'level' => 'debug',
        ],

        'errorlog' => [
            'driver' => 'errorlog',
            'level' => 'debug',
        ],
    ],
];

or custom / use via

return [
    'channels' => [
        'custom' => [
            'driver' => 'custom',
            'via' => \Ytake\LaravelFluent\FluentLogManager::class,
        ],
    ]
];

fluentd config sample

## match tag=local.** (for laravel log develop)
<match local.**>
  type stdout
</match>

example (production)

<match production.**>
 type stdout
</match>

and more

for lumen

fluentd config sample(lumen)

<match lumen.**>
  type stdout
</match>

Monolog processors

You can add processors to the monolog handlers by adding them to the processors array within the fluent.php config.

config/fluent.php:

'processors' => [function($record) {
    $record['extra']['level'] = $record['level_name'];
    
    return $record;
}],

Alternatively, you can pass the class name of the processor. This helps keep your config compatible with config:cache

config/fluent.php:

'processors' => [CustomProcessor::class],

CustomProcessor.php:

class CustomProcessor
{
    public function __invoke($record)
    {
        $record['extra']['level'] = $record['level_name'];

        return $record;
    }
}

Author

License

The code for laravel-fluent-logger is distributed under the terms of the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].