psr/log

Common interface for logging libraries

Package info

github.com/php-fig/log

pkg:composer/psr/log

Statistics

Installs: 1 219 138 652

Dependents: 10 563

Suggesters: 223

Stars: 10 439

3.0.2 2024-09-11 13:17 UTC

Requires

  • php: >=8.0.0

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT f16e1d5863e37f8d8c2a01719f5b34baa2b714d3

logpsrpsr-3

This package is auto-updated.

Last update: 2026-05-30 10:43:24 UTC


README

This repository holds all interfaces/classes/traits related to PSR-3.

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

composer require psr/log

Usage

If you need a logger, you can use the interface like this:

<?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 for details.