New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

rlacerda83/laravel-dynamic-logger

Dynamic logger for laravel
47
Install
composer require rlacerda83/laravel-dynamic-logger:dev-master
PHP:>=5.5.9
License:BSD
Last Updated:Jul 8, 2016
Links: GitHub  ·  Packagist
Maintainer: rlacerda83

Dynamic Log settings for Laravel

With this package you will be able to change log settings in real time.

Requirements

Laravel 5.

Installation

You can install the package using the Composer package manager. You can install it by running this command in your project root:

composer require rlacerda83/laravel-dynamic-logger

Configuration

Add the DynamicLogger\DynamicLoggerServiceProvider provider to the providers array in config/app.php:

'providers' => [
  DynamicLogger\DynamicLoggerServiceProvider::class,
],

Then add the facade to your aliases array:

'aliases' => [
  ...
  'DynamicLogger' => DynamicLogger\Facades\DynamicLogger::class,
],

Usage

The DynamicLogger facade is now your interface to the library.

Note that if you're using the facade in a namespace (e.g. App\Http\Controllers in Laravel 5) you'll need to either use DynamicLogger at the top of your class to import it, or append a backslash to access the root namespace directly when calling methods, e.g. \DynamicLogger::method().

/**
 * Use setHandlers to modify the log settings
 *
 * @param array $handlers - array handlers (monolog)
 * @param bool $logOnlyThisHandlers - If true, it ignores the default handler of laravel and uses only the handlers sent
 * @param bool $cliLogger - future improvement
 */

$file = 'path_to_log/file.log'
$handlers[] = new StreamHandler($file);
\DynamicLogger::setHandlers($handlers, true, $cliLogger);
//From that moment, the log will only be used with informed handlers

//to revert the log for default laravel settings use:
\DynamicLogger::revert();

// you can use Log::info() or you can use DynamicLogger::info()
/**
 * All log methods in DynamicLogger accept this params
 *
 * @param string $message
 * @param array $params
 * @param array $context
 */
 
 //Both have the same behavior
Log::info('Info message');
DynamicLogger::info('Info Message');

// DynamicLogger with params
DynamicLogger::info(
  'Event %s has been successfully started. Next event will be the %s', [$currentEvent, $nextEvent]);

Related Packages

triadev/laravel-logger-provider

A laravel service provider for logging.

199 0
fryiee/custom_log

A Custom Log class built on Monolog's Logger.

73 0
hhxsv5/laravel-kafka-logger

The Kafka logger for Laravel.

15,814 10
peiit/jplogger

Customer logger for Laravel/Lumen

29 0
denoby/laravel-telegram-logger

Laravel package for sending logs and messages to Telegram

1,544 1