fgm/mongodb_logger

适用于MongoDB的PSR/3日志生成器

dev-master 2022-08-28 13:46 UTC

This package is auto-updated.

Last update: 2024-09-28 18:05:23 UTC


README

这是一个MongoDB的OSInet日志器:它允许您的PHP应用程序记录与您的mongodmongos实例通信的mongo扩展的低级操作。

它不提供PSR-3日志目标,但提供了一种从您的MongoDB使用代码中收集信息并将它们推送到您选择的PSR-3日志记录器(例如,在常规PHP代码中使用Monolog,或在Drupal 6/7/8中使用mongodb_watchdog)的方法。

此代码需要旧的mongo扩展:这些功能已从新的mongodb(phongo)扩展中删除

(c) 2015 Ouest Systèmes Informatiques

根据通用公共许可证版本2或更高版本授权。

独立运行演示

  • 请确保您有一个没有在localhost:27017上提供任何重要数据的开发MongoDB实例。实例中的任何数据都可能丢失。

  • 克隆仓库

       https://github.com/FGM/mongodb_logger.git
       cd mongodb_logger
    
  • 运行composer install以获取依赖项

  • 就是这样:现在您可以在包本身中运行演示

      `php loguser.php`.
    

将演示代码作为您的应用程序运行

  • 请确保您有一个没有在localhost:27017上提供任何重要数据的开发MongoDB实例。实例中的任何数据都可能丢失。

  • 创建一个composer文件

      mkdir my_demo
      cd my_demo
      composer init
    
  • 当Composer询问需求时,回答常规的Composer问题,当Composer请求需求时,请求fgm/mongodb_logger,不要指定版本

  • 安装依赖项

      composer install
    
  • loguser.php文件复制到您的项目目录

      cp vendor/fgm/mongodb_logger/loguser.php .
    
  • 就是这样:现在您可以作为一个独立的应用程序运行演示

      php loguser.php
    

在您的包中使用日志回调

  • 将包添加到您的Composer依赖项列表中。

  • 根据需要实例化Logger\Emitter。DIC可能有所帮助。

      use FGM\MongoDBLogger\Logger\Emitter;
      use Psr\Log\LogLevel;
    
      // Build an emitter.
      $emitter = new Emitter();
    
      // Inject your own PSR-3 logger.
      $emitter->setLogger($logger);
    
      // You can choose your log level.
      $emitter->setLogLevel(LogLevel::DEBUG);
    
  • 使用发射器为您的应用程序创建mongodb://上下文。

      $context = $emitter->createContext();
    
  • 在连接到MongoDB时传递您刚刚构建的上下文。

      $client = new \MongoClient($server, $options, ['context' => $context]);
    
  • 就是这样。您所有的操作现在都可以被记录。

商标