everon/logger-basic

一套不需要额外供应商依赖的EveronLogger插件

3.0.0 2023-08-03 22:54 UTC

This package is auto-updated.

Last update: 2024-09-04 15:49:01 UTC


README

Build and run tests

一套不需要额外供应商依赖的EveronLogger插件。

  • ErrorLog
  • Nullee
  • Stream
  • Syslog

插件

ErrorLog

将消息发送到PHP error_log()处理程序。

  • 配置器

    Everon\Shared\LoggerBasic\Configurator\Plugin\ErrorLogLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerBasic\Plugin\ErrorLog\ErrorLogLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => Level::Debug,
    'shouldBubble' => true,
    'messageType' => \Monolog\Handler\ErrorLogHandler::OPERATING_SYSTEM,
    'expandNewlines' => false,
  • 插件

    Everon\LoggerBasic\Plugin\ErrorLog\ErrorLogLoggerPlugin

  • 使用

    use Everon\Shared\Logger\Configurator\Plugin\LoggerConfigurator;
    use Everon\Shared\LoggerBasic\Configurator\Plugin\ErrorLogLoggerPluginConfigurator;
    use Everon\Logger\EveronLoggerFacade;
    
    $errorLogPluginConfigurator = (new ErrorLogLoggerPluginConfigurator)
        ->setLogLevel(Level::Info)
        ->setMessageType(\Monolog\Handler\ErrorLogHandler::OPERATING_SYSTEM)
        ->setExpandNewlines(false);
    
    $configurator = (new LoggerConfigurator)
        ->add($errorLogPluginConfigurator);
    
    $logger = (new EveronLoggerFacade())->buildLogger($configurator);
    
    $logger->info('lorem ipsum');

Nullee

模拟发送消息

  • 配置器

    Everon\Shared\LoggerBasic\Configurator\Plugin\NulleeLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerBasic\Plugin\Nullee\NulleeLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => Level::Debug,
    'shouldBubble' => true,
  • 插件

    Everon\LoggerBasic\Plugin\Nullee\NulleeLoggerPlugin

  • 使用

    use Everon\Shared\Logger\Configurator\Plugin\LoggerConfigurator;
    use Everon\Shared\LoggerBasic\Configurator\Plugin\NulleeLoggerPluginConfigurator;
    use Everon\Logger\EveronLoggerFacade;
    
    $nulleePluginConfigurator = (new NulleeLoggerPluginConfigurator)
        ->setLogLevel(Level::Info);
    
    $configurator = (new LoggerConfigurator)
        ->add($nulleePluginConfigurator);
    
    $logger = (new EveronLoggerFacade())->buildLogger($configurator);
    
    $logger->info('lorem ipsum');

Stream

将消息发送到任何PHP流处理程序。

  • 配置器

    Everon\Shared\LoggerBasic\Configurator\Plugin\StreamLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerBasic\Plugin\Stream\StreamLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => Level::Debug,
    'shouldBubble' => true,
    'streamLocation' => NULL,
    'filePermission' => NULL,
    'useLocking' => false,
  • 插件

    Everon\LoggerBasic\Plugin\Stream\StreamLoggerPlugin

  • 使用

    use Everon\Shared\Logger\Configurator\Plugin\LoggerConfigurator;
    use Everon\Shared\LoggerBasic\Configurator\Plugin\StreamLoggerPluginConfigurator; 
    use Everon\Logger\EveronLoggerFacade;
    
    $streamPluginConfigurator = (new StreamLoggerPluginConfigurator)
        ->setLogLevel(Level::Info)
        ->setStreamLocation('/tmp/debug.log');
    
    $configurator = (new LoggerConfigurator)
        ->add($streamPluginConfigurator);
    
    $logger = (new EveronLoggerFacade())->buildLogger($configurator);
    
    $logger->info('lorem ipsum');

Syslog

将消息发送到syslog服务。

  • 配置器

    Everon\Shared\LoggerBasic\Configurator\Plugin\SyslogLoggerPluginConfigurator

  • 默认选项

    'pluginClass' => \Everon\LoggerBasic\Plugin\Syslog\SyslogLoggerPlugin::class,
    'pluginFactoryClass' => NULL,
    'logLevel' => Level::Debug,
    'shouldBubble' => true,
    'ident' => NULL,
    'facility' => \LOG_LOCAL0,
    'logopts' => \LOG_PID,
  • 插件

    Everon\LoggerBasic\Plugin\Syslog\SyslogLoggerPlugin

  • 使用

    use Everon\Shared\Logger\Configurator\Plugin\LoggerConfigurator; 
    use Everon\Shared\LoggerBasic\Configurator\Plugin\SyslogLoggerPluginConfigurator;
    use Everon\Logger\EveronLoggerFacade;
    
    $syslogPluginConfigurator = (new SyslogLoggerPluginConfigurator)
        ->setLogLevel(Level::Info)
        ->setIdent('foo-bar-ident');
    
    $configurator = (new LoggerConfigurator)
        ->add($syslogPluginConfigurator);
    
    $logger = (new EveronLoggerFacade())->buildLogger($configurator);
    
    $logger->info('lorem ipsum');

需求

  • PHP v8.1.x
  • Monolog v3.x

安装

composer require everon/logger-basic