hack-logging/hack-logging

Hack Logging Package

Installs: 6 090

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 2

Forks: 2

Open Issues: 0

Language:Hack

0.8.0 2022-01-13 15:19 UTC

README

Build Status

Requirements

HHVM 4.95 and above.

Usage

$ composer require hack-logging/hack-logging

StdHandler

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

async function fvAsync(): Awaitable<void> {
  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

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<void> {
  $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'],
    ],
  );
}