PHPackages                             def/logger - 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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. def/logger

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

def/logger
==========

single class psr logger implementation

018PHP

Since Aug 7Pushed 9y ago1 watchersCompare

[ Source](https://github.com/andrew-kamenchuk/def-logger)[ Packagist](https://packagist.org/packages/def/logger)[ RSS](/packages/def-logger/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

def-logger
----------

[](#def-logger)

(*single class psr compatible php logger*)

[![Build Status](https://camo.githubusercontent.com/77b920461e3798bca959d21e8db2a44f22d2dfd91cda1a9de061d8764a7d9f72/68747470733a2f2f7472617669732d63692e6f72672f616e647265772d6b616d656e6368756b2f6465662d6c6f676765722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/andrew-kamenchuk/def-logger)

basic usage:

```
use def\Logger\Logger;

$logger = new Logger('php-app'); // or Logger::getLogger('php-app');
```

Now you can set a callable writer to process log messages:

```
$logger->setWriter('print_r');

// or
// will print_r every 10 records formatted with default formatter
$logger->setWriter('print_r', Logger::ALL, 10);
```

There are some writers already defined, for example:

```
$logger->setStreamWriter(STDERR, Logger::DEBUG | Logger::INFO); // there are also error_log, syslog and mail writers
```

You can change default formatting:

```
$logger->setDefaultFormatter(function ($levelname, $message, array $context) {
    //
});
```

or pass custom formatter with writer:

```
$logger->setWriter('print_r', Logger::ALL, 10, function ($levelname, $message, array $context) {
    //
});
```

It is possible to disable some levels for handling:

```
$logger->disable(Logger::DEBUG | Logger::INFO);
```

`addContextProcessor` method allows add some extra data to context:

```
$logger->addContextProcessor('some_key', function (array $context) {
    return 'some_value';
});
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ce3c22bfbd842417cbcc5765e73b63782b13c867aadafa6627439954cdaf5398?d=identicon)[andrew-kamenchuk](/maintainers/andrew-kamenchuk)

---

Top Contributors

[![andrew-kamenchuk](https://avatars.githubusercontent.com/u/6658834?v=4)](https://github.com/andrew-kamenchuk "andrew-kamenchuk (8 commits)")

---

Tags

loggerphppsr-3single-class

### Embed Badge

![Health badge](/badges/def-logger/health.svg)

```
[![Health](https://phpackages.com/badges/def-logger/health.svg)](https://phpackages.com/packages/def-logger)
```

###  Alternatives

[psr/log

Common interface for logging libraries

10.4k1.2B9.2k](/packages/psr-log)[itsgoingd/clockwork

php dev tools in your browser

5.9k27.6M94](/packages/itsgoingd-clockwork)[graylog2/gelf-php

A php implementation to send log-messages to a GELF compatible backend like Graylog2.

41838.2M138](/packages/graylog2-gelf-php)[bugsnag/bugsnag-psr-logger

Official Bugsnag PHP PSR Logger.

32132.5M2](/packages/bugsnag-bugsnag-psr-logger)[consolidation/log

Improved Psr-3 / Psr\\Log logger based on Symfony Console components.

15462.2M7](/packages/consolidation-log)[datadog/php-datadogstatsd

An extremely simple PHP datadogstatsd client

19124.6M15](/packages/datadog-php-datadogstatsd)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
