[ Index ]

PHP Cross Reference of YOURLS

title

Body

[close]

/includes/vendor/psr/log/ -> README.md (source)

   1  PSR Log
   2  =======
   3  
   4  This repository holds all interfaces/classes/traits related to
   5  [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md).
   6  
   7  Note that this is not a logger of its own. It is merely an interface that
   8  describes a logger. See the specification for more details.
   9  
  10  Installation
  11  ------------
  12  
  13  ```bash
  14  composer require psr/log
  15  ```
  16  
  17  Usage
  18  -----
  19  
  20  If you need a logger, you can use the interface like this:
  21  
  22  ```php
  23  <?php
  24  
  25  use Psr\Log\LoggerInterface;
  26  
  27  class Foo
  28  {
  29      private $logger;
  30  
  31      public function __construct(LoggerInterface $logger = null)
  32      {
  33          $this->logger = $logger;
  34      }
  35  
  36      public function doSomething()
  37      {
  38          if ($this->logger) {
  39              $this->logger->info('Doing work');
  40          }
  41             
  42          try {
  43              $this->doSomethingElse();
  44          } catch (Exception $exception) {
  45              $this->logger->error('Oh no!', array('exception' => $exception));
  46          }
  47  
  48          // do something useful
  49      }
  50  }
  51  ```
  52  
  53  You can then pick one of the implementations of the interface to get a logger.
  54  
  55  If you want to implement the interface, you can require this package and
  56  implement `Psr\Log\LoggerInterface` in your code. Please read the
  57  [specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
  58  for details.


Generated: Thu Sep 19 05:10:04 2024 Cross-referenced by PHPXref 0.7.1