PHPackages                             tleckie/log - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. tleckie/log

ActiveLibrary

tleckie/log
===========

Simple PSR-3 log

1.0.4(5y ago)05MITPHPPHP ^8

Since Apr 20Pushed 5y ago1 watchersCompare

[ Source](https://github.com/teodoroleckie/log)[ Packagist](https://packagist.org/packages/tleckie/log)[ Docs](https://github.com/teodoroleckie/log)[ RSS](/packages/tleckie-log/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (5)Dependencies (5)Versions (6)Used By (0)

### Logger:

[](#logger)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e9561c4a8a2f2c2ffe96102bdcf39d954da013c95b2d498ae61f1ef877533a53/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f746c65636b69652f6c6f672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tleckie/log)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/ffa0c963a3d42752bec535557eb8d819725d3fd072049068bf281370aed715c9/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74656f646f726f6c65636b69652f6c6f672f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/teodoroleckie/log/?branch=master)[![Build Status](https://camo.githubusercontent.com/4595a185949625174dda53e9de64c8aa1f79f78263ce3932ef305884cb91c084/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74656f646f726f6c65636b69652f6c6f672f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/teodoroleckie/log/build-status/master)[![Total Downloads](https://camo.githubusercontent.com/248201d11fd4f2314b18cca4f48176cf49d6bc3e9e05b5521fd939c363c42561/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f746c65636b69652f6c6f672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tleckie/log)[![Code Intelligence Status](https://camo.githubusercontent.com/8924b94a1b6898599c4ec218df61a2fcac7932c0e185588c69ee398936c5a24c/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f74656f646f726f6c65636b69652f6c6f672f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/code-intelligence)

You can install the package via composer:

```
composer require tleckie/log
```

```
require_once "vendor/autoload.php";

use Tleckie\Log\Handler\StreamHandler;
use Tleckie\Log\Handler\FileHandler;
use Tleckie\Log\Level;
use Tleckie\Log\Log;

$handlers = [
    new StreamHandler(Level::DEBUG),
    new FileHandler(Level::DEBUG, '/tmp/error.log')
];

$log = new Log($handlers);

class DummyToString {
    public function __toString(): string
    {
        return 'My string';
    }
}

class DummySerialize implements \JsonSerializable {
    public function jsonSerialize()
    {
        return [
            'value1',
            'value2'
        ];
    }
}

$log->alert(new Exception('Test alert message'),[1,2]);
$log->critical('Test critical message: {A} => {B}', ['A' => '(A value)', 'B' => '(B value)']);
$log->info('Test info message');
$log->error(new Exception('Test error message'));
$log->emergency('Test emergency message');
$log->emergency(['{A}' => 155555, '{B}' => 99999], ['A' => '(A value)', 'B' => '(B value)']);
$log->emergency(['A' => 155555, 'B' => 99999]);
$log->emergency(new class(){});
$log->emergency(new DummyToString());
$log->emergency(new DummySerialized());
```

#### Output:

[](#output)

```
[2021-04-20T13:24:35+02:00] channel.ALERT "Test alert message" {"class":"Exception","message":"Test alert message","code":0,"file":"/log/index.php:34"} [1,2]
[2021-04-20T13:24:35+02:00] channel.CRITICAL "Test critical message: (A value) => (B value)" {} {"A":"(A value)","B":"(B value)"}
[2021-04-20T13:24:35+02:00] channel.INFO "Test info message" {} []
[2021-04-20T13:24:35+02:00] channel.ERROR "Test error message" {"class":"Exception","message":"Test error message","code":0,"file":"/log/index.php:37"} []
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "Test emergency message" {} []
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "{\"(A value)\":155555,\"(B value)\":99999}" {} {"A":"(A value)","B":"(B value)"}
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "{\"A\":155555,\"B\":99999}" {} []
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "class@anonymous\u0000/log/index.php:41$2" {} []
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "My string" {} []
[2021-04-20T13:24:35+02:00] channel.EMERGENCY "[\"value1\",\"value2\"]" {} []
```

#### Default line format:

[](#default-line-format)

```
[%date%] %channel%.%level% %message% %context%
```

```
