59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
PSR Log
 | 
						|
=======
 | 
						|
 | 
						|
This repository holds all interfaces/classes/traits related to
 | 
						|
[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md).
 | 
						|
 | 
						|
Note that this is not a logger of its own. It is merely an interface that
 | 
						|
describes a logger. See the specification for more details.
 | 
						|
 | 
						|
Installation
 | 
						|
------------
 | 
						|
 | 
						|
```bash
 | 
						|
composer require psr/log
 | 
						|
```
 | 
						|
 | 
						|
Usage
 | 
						|
-----
 | 
						|
 | 
						|
If you need a logger, you can use the interface like this:
 | 
						|
 | 
						|
```php
 | 
						|
<?php
 | 
						|
 | 
						|
use Psr\Log\LoggerInterface;
 | 
						|
 | 
						|
class Foo
 | 
						|
{
 | 
						|
    private $logger;
 | 
						|
 | 
						|
    public function __construct(LoggerInterface $logger = null)
 | 
						|
    {
 | 
						|
        $this->logger = $logger;
 | 
						|
    }
 | 
						|
 | 
						|
    public function doSomething()
 | 
						|
    {
 | 
						|
        if ($this->logger) {
 | 
						|
            $this->logger->info('Doing work');
 | 
						|
        }
 | 
						|
           
 | 
						|
        try {
 | 
						|
            $this->doSomethingElse();
 | 
						|
        } catch (Exception $exception) {
 | 
						|
            $this->logger->error('Oh no!', array('exception' => $exception));
 | 
						|
        }
 | 
						|
 | 
						|
        // do something useful
 | 
						|
    }
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
You can then pick one of the implementations of the interface to get a logger.
 | 
						|
 | 
						|
If you want to implement the interface, you can require this package and
 | 
						|
implement `Psr\Log\LoggerInterface` in your code. Please read the
 | 
						|
[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
 | 
						|
for details.
 |