PHPackages                             wadmiraal/wind - 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. wadmiraal/wind

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

wadmiraal/wind
==============

Lightweight, PSR compliant log server for fast and efficient logging. Wind exposes a REST server, but does not provide any logging functionality as is.

017PHP

Since May 16Pushed 11y ago1 watchersCompare

[ Source](https://github.com/wadmiraal/wind)[ Packagist](https://packagist.org/packages/wadmiraal/wind)[ RSS](/packages/wadmiraal-wind/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Wind - Fast logging for PHP
===========================

[](#wind---fast-logging-for-php)

[![Build Status](https://camo.githubusercontent.com/e160c380b87fded524984a243b054eeb726f9aebd43267e8b75ac84400901c5d/68747470733a2f2f7472617669732d63692e6f72672f7761646d697261616c2f77696e642e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/wadmiraal/wind) [![Coverage Status](https://camo.githubusercontent.com/e0d4f3c5fcbb13139b4a77c17ab9d6bf423c77aee33abbc07b88e7ce5c12f5c9/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f7761646d697261616c2f77696e642f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/wadmiraal/wind?branch=master) [![Code Climate](https://camo.githubusercontent.com/30cf65b496fb9db87d8e5b5d257a89040eada20baf0c8f5f0cb7ca6c12a76d6d/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f7761646d697261616c2f77696e642e706e67)](https://codeclimate.com/github/wadmiraal/wind)

Wind is a lightweight and fast logging server for PHP.

Goal
----

[](#goal)

Logging can slow down a PHP application. PHP runs everything in the same process, and logging operations can be heavy, both in memory and IO. Some solutions exist to split the workload and let another application handle the logging, but most are heavy and require complicated setup.

Wind exposes a light REST server to which the main PHP application can post log requests. This will trigger a *new* PHP process for the actual logging, leaving the main application to concentrate on its main tasks.

Wind responds with a `HTTP/1.0 204 No Response`, immediately terminating the request for the calling application. Wind then proceeds to forward the log request to the chosen library, which will persist the log.

Wind does not provide any logging functionality as-is. It is meant to be used with a PSR-3 compatible logging library (like [Monolog](https://github.com/Seldaek/monolog)).

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

[](#installation)

The easiest way is through [Composer](https://getcomposer.org). Create a `composer.json` file, or copy the `composer.json.dist` file that comes with Wind:

```
{
    "require": {
        "wadmiraal/wind": "dev-master"
    }
}
```

Next, call `composer install`, or `composer update` if you already had installed packages before.

Usage
-----

[](#usage)

You'll find an example script in `vendor/bin/server.php`.

*Note: what follows is only valid if installed through Composer.*

`vendor/bin/server.sh` launches PHP's built in server, which is not meant to be used in production environments; it only serves as an example. The script listens to `localhost:6789` and routes requests to `vendor/bin/server.php`. You can use it with the following commands:

```
cd vendor/bin
chmod +x server.sh
./server.sh
```

This will launch a Wind server, using [Monolog](https://github.com/Seldaek/monolog) (if it fails, make sure to update your `composer.json` to include `"monolog/monolog": "1.9.1"`).

You can now post log requests, using the `Wind\Client\Logger` class:

```
use Psr\Log\LogLevel;
use Wind\Client\Logger;
use Wind\Server\Router;

$logger = new Logger('http://localhost:6789', new Router());

$logger->log(LogLevel::NOTICE, 'Log this message for me', array('in_context' => 'of something'));
```

Checkout `vendor/bin/server.php` for a concrete example of using Wind server-side with Monolog. There are many ways to set this up, but one good idea would be to set up an Apache or NginX virtual host, specifically for Wind. This could even be running on a different server, to reduce the workload on your application server even more (make sure to protect it from public writes, in this case).

Here's a basic example, using Monolog:

```
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Wind\Server\EndPoint;
use Wind\Server\Router;

$logger = new Logger('name');
$logger->pushHandler(new StreamHandler('./log.log', Logger::DEBUG));
$wind = new EndPoint($logger, new Router());
$wind->run();
```

###  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/6d57d60420981f73d02cee32cd54ba27814a8c63dd15e92de3e92f7fae38e494?d=identicon)[wadmiraal](/maintainers/wadmiraal)

---

Top Contributors

[![wadmiraal](https://avatars.githubusercontent.com/u/745643?v=4)](https://github.com/wadmiraal "wadmiraal (69 commits)")

### Embed Badge

![Health badge](/badges/wadmiraal-wind/health.svg)

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

###  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)
