PHPackages                             hack-logging/hack-logging - 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. hack-logging/hack-logging

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

hack-logging/hack-logging
=========================

Hack Logging Package

0.8.0(4y ago)411.6k↓50%1MITHack

Since Apr 1Pushed 2y ago1 watchersCompare

[ Source](https://github.com/ytake/hack-logging)[ Packagist](https://packagist.org/packages/hack-logging/hack-logging)[ Docs](https://github.com/ytake/hack-logging)[ RSS](/packages/hack-logging-hack-logging/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (13)Used By (0)

hack-logging
============

[](#hack-logging)

[![Build Status](https://camo.githubusercontent.com/379f5e1e456661103e98b7952663927fd3b844c8f22e44a3dbe525761824aa84/68747470733a2f2f7472617669732d63692e6f72672f7974616b652f6861636b2d6c6f6767696e672e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ytake/hack-logging)

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

[](#requirements)

HHVM 4.95 and above.

Usage
-----

[](#usage)

```
$ composer require hack-logging/hack-logging
```

### StdHandler

[](#stdhandler)

```
use namespace HackLogging;
use namespace HH\Lib\IO;

async function fvAsync(): Awaitable {
  list($read, $write) = IO\pipe();

  $log = new HackLogging\Logger('hack-logging', vec[
    new HackLogging\Handler\StdHandler($write),
  ]);

  await $log->writeAsync(
    HackLogging\LogLevel::DEBUG,
    'hacklogging-test',
  );
}
```

### FilesystemHandler

[](#filesystemhandler)

```
use namespace HackLogging;
use namespace HH\Lib\File;
use function bin2hey();
use function random_bytes;
use function sys_get_temp_dir;

async function fvAsync(): Awaitable {
  $filename = sys_get_temp_dir() . '/' . bin2hex(random_bytes(16));
  $file = File\open_write_only($filename);
  $log = new HackLogging\Logger('hack-logging', vec[
    new HackLogging\Handler\FilesystemHandler($file),
  ]);
  await $log->writeAsync(
    HackLogging\LogLevel::DEBUG,
    'hacklogging-test',
    dict[
      'context' => vec['nice'],
    ],
  );
}
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity29

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.1% 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 ~113 days

Recently: every ~163 days

Total

10

Last Release

1586d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/47817f3dd2890864096bd77ee772ec46061432f128988ca23939b0ca486d7bc3?d=identicon)[ytake](/maintainers/ytake)

---

Top Contributors

[![ytake](https://avatars.githubusercontent.com/u/4454078?v=4)](https://github.com/ytake "ytake (32 commits)")[![dienesl](https://avatars.githubusercontent.com/u/8949694?v=4)](https://github.com/dienesl "dienesl (2 commits)")

---

Tags

hacklanghhvmloggerloggingloglogginghhvmhack

### Embed Badge

![Health badge](/badges/hack-logging-hack-logging/health.svg)

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

###  Alternatives

[monolog/monolog

Sends your logs to files, sockets, inboxes, databases and various web services

21.4k964.9M7.0k](/packages/monolog-monolog)[symfony/monolog-bundle

Symfony MonologBundle

2.9k249.1M1.6k](/packages/symfony-monolog-bundle)[sentry/sentry

PHP SDK for Sentry (http://sentry.io)

1.9k227.1M273](/packages/sentry-sentry)[sentry/sentry-laravel

Laravel SDK for Sentry (https://sentry.io)

1.3k114.3M154](/packages/sentry-sentry-laravel)[rap2hpoutre/laravel-log-viewer

A Laravel log reader

3.2k14.7M71](/packages/rap2hpoutre-laravel-log-viewer)[sentry/sdk

This is a meta package of sentry/sentry. We recommend using sentry/sentry directly.

328134.8M151](/packages/sentry-sdk)

PHPackages © 2026

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