PHPackages                             birenjung/log-watcher - 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. birenjung/log-watcher

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

birenjung/log-watcher
=====================

Terminal-first, channel-aware log watcher for Laravel developers

v0.1.5(2mo ago)019↓100%MITPHPPHP ^8.2

Since Jan 3Pushed 2mo agoCompare

[ Source](https://github.com/birenjung/log-watcher)[ Packagist](https://packagist.org/packages/birenjung/log-watcher)[ RSS](/packages/birenjung-log-watcher/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (2)Versions (6)Used By (0)

birenjung/log-watcher
=====================

[](#birenjunglog-watcher)

> **Debug without breaking flow.**

A lightweight, terminal-first log watcher for Laravel developers who think in channels, not dashboards.

---

Why this exists
---------------

[](#why-this-exists)

During active development, debugging often becomes repetitive:

1. Trigger a request
2. Switch to the browser
3. Hit a `dd()` or dump output
4. Go back to the editor
5. Repeat

While `dd()` is extremely useful, it **forces context switching** — especially during intense debugging where focus matters.

This package exists to make debugging **less disruptive**.

Instead of stopping execution and switching screens, you can:

- Log what matters
- Observe behavior in real time
- Stay inside the terminal
- Avoid unrelated framework or system noise

**The goal is not to replace debugging tools, but to make everyday debugging calmer, simpler, and more focused.**

---

dd() vs log-watcher
-------------------

[](#dd-vs-log-watcher)

`dd()``log-watcher`Stops executionKeeps application runningRequires browser accessWorks entirely in terminalForces screen switchingNo context switchingOne-time snapshotReal-time observationCan block debugging flowDesigned to preserve flowThey serve different purposes — and work best together.

---

Philosophy
----------

[](#philosophy)

This package follows a few simple principles:

- **Terminal-first**
    No UI, no dashboard, no browser tab.
- **Channel-centric**
    Laravel logs are channels, not just files. Channels are treated as first-class citizens.
- **Minimal by design**
    Do one thing well. No feature creep.
- **Predictable behavior**
    No hidden side effects. No log mutation. No database usage.

Simplicity is the style.
Honesty is the policy.

---

What this package is
--------------------

[](#what-this-package-is)

- A real-time log watcher for Laravel
- A developer-only tool
- A terminal-native alternative to `tail -f`
- A channel-aware wrapper around Laravel's logging system

---

What this package is NOT
------------------------

[](#what-this-package-is-not)

- ❌ Not a replacement for Laravel Pail
- ❌ Not a UI or TUI log viewer
- ❌ Not a debugging dashboard (use Telescope for that)
- ❌ Not production tooling
- ❌ Not opinionated about your workflow

This package intentionally stays small.

---

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

[](#requirements)

- PHP **8.2+**
- Laravel **12.x**

---

Installation
------------

[](#installation)

```
composer require birenjung/log-watcher --dev
```

This is a **dev-only package**, intended for local and development environments.

---

Quick Start (30 seconds)
------------------------

[](#quick-start-30-seconds)

```
php artisan log:watch
```

That's it.

- Watches your default Laravel log channel
- Runs in clean mode by default
- Prints logs as they happen

If nothing appears, it simply means no new logs were written yet.

---

Usage
-----

[](#usage)

### Watch the default log channel

[](#watch-the-default-log-channel)

```
php artisan log:watch
```

This watches Laravel's default logging channel (`logging.default` in `config/logging.php`).

If the default channel is `stack`, it is automatically resolved to the first file-based channel.

---

### Watch a specific channel

[](#watch-a-specific-channel)

```
php artisan log:watch daily
```

**Supported channel types:**

- `single`
- `daily`
- `stack` (auto-resolved)
- Any custom **file-based** channel

Non-file channels (Slack, Syslog, etc.) are intentionally unsupported.

---

### Clean Mode (default)

[](#clean-mode-default)

By default, `log-watcher` runs in **clean mode**.

```
php artisan log:watch
```

**Clean mode:**

- Hides framework and vendor stack traces
- Hides internal exception noise
- Shows only meaningful application logs
- Keeps the terminal readable during debugging

You will see:

```
Clean mode enabled. Use --full to show full stack traces.

```

This is intentional.

---

### Full Mode

[](#full-mode)

To see everything — including raw stack traces and framework internals:

```
php artisan log:watch --full
```

Use this when you need deep visibility.

---

Colored Output
--------------

[](#colored-output)

Log levels are detected and colored automatically:

LevelColordebug```
        | Cyan   |

```

| INFO | Blue | | WARNING | Yellow | | ERROR / CRITICAL | Red |

This makes scanning logs easier without filters or UI.

---

Important note
--------------

[](#important-note)

`log-watcher` shows **real application logs**.

If your app throws an exception (for example, a database connection error), it will appear here.

Nothing is hidden, transformed, or suppressed.

If nothing appears, it simply means **no new logs were written yet**.

---

Common Questions
----------------

[](#common-questions)

### Why not just use `dd()`?

[](#why-not-just-use-dd)

`dd()` is perfect for inspecting values at a single point in time.

`log-watcher` is better for:

- Watching behavior across multiple requests
- Debugging workflows without stopping execution
- Observing real-time application state
- Staying inside the terminal during heavy debugging

They complement each other.

---

### Why not just use Laravel Pail?

[](#why-not-just-use-laravel-pail)

Laravel Pail is a great tool, but it is **opinionated and UI-driven**.

`log-watcher` is:

- Terminal-native
- Channel-focused
- Minimal by design
- Easy to integrate into custom workflows (tmux, SSH, CI, pipes)

They complement each other rather than compete.

---

### Why not just use `tail -f`?

[](#why-not-just-use-tail--f)

Because `tail -f`:

- Does not understand Laravel channels
- Does not handle `stack`
- Is not portable across environments
- Does not provide semantic log-level coloring

`log-watcher` adds Laravel awareness without adding complexity.

---

Laravel Version Support
-----------------------

[](#laravel-version-support)

This package is designed specifically for Laravel's modern bootstrap system.

- Laravel **12.x**
- PHP **8.2+**

---

Development Status
------------------

[](#development-status)

- **v0.1.0** — Initial stable release
- **v0.1.3** — Clean mode and full mode support
- API intentionally small
- Backwards compatibility prioritized

Future versions may add optional features, but the core philosophy will remain unchanged.

---

License
-------

[](#license)

MIT

---

Final note
----------

[](#final-note)

This package is not trying to be everything.

If you want a dashboard, use Telescope.
If you want UI-driven tooling, use Pail.

If you want a simple, honest, terminal-native way to observe logs without breaking flow — this exists for you.

###  Health Score

37

—

LowBetter than 84% of packages

Maintenance86

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

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.

###  Release Activity

Cadence

Every ~3 days

Total

5

Last Release

69d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6c340b60a898fd8caf4c22b19bd15f4feab827eafea7b22e9c71181763248c55?d=identicon)[birenjung](/maintainers/birenjung)

---

Top Contributors

[![birenjung](https://avatars.githubusercontent.com/u/26524622?v=4)](https://github.com/birenjung "birenjung (12 commits)")

---

Tags

artisandebugdeveloper-toolslaravellogginglogsopen-sourceterminalterminallaravelloggingartisanlogsdeveloper-tools

### Embed Badge

![Health badge](/badges/birenjung-log-watcher/health.svg)

```
[![Health](https://phpackages.com/badges/birenjung-log-watcher/health.svg)](https://phpackages.com/packages/birenjung-log-watcher)
```

###  Alternatives

[ytake/laravel-fluent-logger

fluent logger for laravel and lumen

62538.4k1](/packages/ytake-laravel-fluent-logger)[melihovv/laravel-log-viewer

A Laravel log viewer

1231.5k1](/packages/melihovv-laravel-log-viewer)

PHPackages © 2026

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