rlacerda83/laravel-dynamic-logger

laravel 的动态日志记录器

dev-master 2016-07-08 13:40 UTC

This package is auto-updated.

Last update: 2024-08-29 00:00:17 UTC


README

使用此包,您将能够实时更改日志设置。

要求

Laravel 5。

安装

您可以使用Composer包管理器安装此包。您可以在项目根目录中运行以下命令进行安装:

composer require rlacerda83/laravel-dynamic-logger

配置

DynamicLogger\DynamicLoggerServiceProvider提供者添加到config/app.php中的providers数组

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

然后,将外观添加到您的aliases数组

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

用法

DynamicLogger外观现在是您与库的接口。

请注意,如果您在命名空间中使用外观(例如Laravel 5中的App\Http\Controllers),则需要将use DynamicLogger放在类顶部以导入它,或者在使用方法时直接访问根命名空间,例如\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]);