PHPackages                             overtrue/cuttle - 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. overtrue/cuttle

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

overtrue/cuttle
===============

A multi-module log wrapper.

0.0.2(8y ago)15142MITPHPPHP &gt;=7.0

Since Jun 24Pushed 7y ago2 watchersCompare

[ Source](https://github.com/overtrue/cuttle)[ Packagist](https://packagist.org/packages/overtrue/cuttle)[ RSS](/packages/overtrue-cuttle/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

Cuttle
======

[](#cuttle)

📃 A multi-module log wrapper.

[![Build Status](https://camo.githubusercontent.com/65d9c7aaf74cb1ef0e3e659cdf5e0207a4f63a0f604783e84ebc3f1d3e5560e2/68747470733a2f2f7472617669732d63692e6f72672f6f766572747275652f637574746c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/overtrue/cuttle)[![Latest Stable Version](https://camo.githubusercontent.com/4954980ec7b0229e3ed287e8a33fba83e94e1b46f994fc803c81ee492cbe8c8f/68747470733a2f2f706f7365722e707567782e6f72672f6f766572747275652f637574746c652f762f737461626c652e737667)](https://packagist.org/packages/overtrue/cuttle)[![Latest Unstable Version](https://camo.githubusercontent.com/c7e3d079b4d39c1f0b8003f9cf1d5ddf6bef403b592bf1122598b34b009dd5c8/68747470733a2f2f706f7365722e707567782e6f72672f6f766572747275652f637574746c652f762f756e737461626c652e737667)](https://packagist.org/packages/overtrue/cuttle)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/6e5b86c649a39c09854e15fef6dfcacf832b2649b49372690bd345c86c4fbb75/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6f766572747275652f637574746c652f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/overtrue/cuttle/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/de1d19226d0144535c43267d10a94ba97df4368e90a5ea88dd4fe875613cc134/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6f766572747275652f637574746c652f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/overtrue/cuttle/?branch=master)[![Total Downloads](https://camo.githubusercontent.com/a13f642a5877ac6ac81753245e44c2212a552a099d8f279a8dc1d4d0710db383/68747470733a2f2f706f7365722e707567782e6f72672f6f766572747275652f637574746c652f646f776e6c6f616473)](https://packagist.org/packages/overtrue/cuttle)[![License](https://camo.githubusercontent.com/e2c3928219b12c2243b5713f49ea008944262321c2ebe36c98384e4990da4b2c/68747470733a2f2f706f7365722e707567782e6f72672f6f766572747275652f637574746c652f6c6963656e7365)](https://packagist.org/packages/overtrue/cuttle)

Requirements
------------

[](#requirements)

- PHP &gt;= 7.0

Installing
----------

[](#installing)

```
$ composer require "overtrue/cuttle"
```

Usage
-----

[](#usage)

```
use Overtrue\Cuttle\Cuttle;

$config = [
    'default' => 'foo', // default channel

    'formatters' => [
        'dashed' => [
            'formatter' => \Monolog\Formatter\LineFormatter::class, // default
            'format' => "%datetime% - %channel%.%level_name% - %message%\n"
        ],
    ],
    'handlers' => [
        'file' => [
            'handler' => \Monolog\Handler\StreamHandler::class,  // default
            'formatter' => 'dashed',
            'stream' => '/tmp/demo.log',
            'level' => 'info',
        ],
        'console' => [
            'formatter' => 'dashed',
            'stream' => 'php://stdout',
            'level' => 'debug',
        ],
    ],
    'channels' => [
        'foo' => [
            'handlers' => ['console', 'file'],
        ],
        'bar' => [
            'handlers' => ['file'],
        ],
    ],
];

$cuttle = new Cuttle($config);

$cuttle->info('hello'); // channel: foo
$cuttle->channel('bar')->debug('debug message.');

// aslias of channel($name)
// ->of('bar')
// ->from('bar')
```

PHP 扩展包开发
---------

[](#php-扩展包开发)

> 想知道如何从零开始构建 PHP 扩展包？
>
> 请关注我的实战课程，我会在此课程中分享一些扩展开发经验 —— [《PHP 扩展包实战教程 - 从入门到发布》](https://learnku.com/courses/creating-package)

License
-------

[](#license)

MIT

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.4% 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.

###  Release Activity

Cadence

Every ~12 days

Total

2

Last Release

3235d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c507e57eab402e81335012357b7d7df6c5cafda3073adcc94b475037127d263f?d=identicon)[overtrue](/maintainers/overtrue)

---

Top Contributors

[![overtrue](https://avatars.githubusercontent.com/u/1472352?v=4)](https://github.com/overtrue "overtrue (19 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")[![summerblue](https://avatars.githubusercontent.com/u/324764?v=4)](https://github.com/summerblue "summerblue (1 commits)")[![tianyong90](https://avatars.githubusercontent.com/u/9278461?v=4)](https://github.com/tianyong90 "tianyong90 (1 commits)")

---

Tags

logmonologmulti logger

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/overtrue-cuttle/health.svg)

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

###  Alternatives

[theorchard/monolog-cascade

Monolog extension to configure multiple loggers in the blink of an eye and access them from anywhere

1482.2M9](/packages/theorchard-monolog-cascade)[inpsyde/wonolog

Monolog-based logging package for WordPress.

183617.9k7](/packages/inpsyde-wonolog)[logtail/monolog-logtail

Logtail handler for Monolog

233.2M3](/packages/logtail-monolog-logtail)[inpsyde/logzio-monolog

Logz.io integration for Monolog

191.2M1](/packages/inpsyde-logzio-monolog)[mero/yii2-monolog

The Monolog integration for the Yii framework.

42186.1k](/packages/mero-yii2-monolog)[mero/telegram-handler

Monolog handler to send log by Telegram

36113.3k](/packages/mero-telegram-handler)

PHPackages © 2026

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