gle
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

GLE

Global Log Engine: Environment-agnostic debugging & logging utility

GLE is a logging and debugging utility which allows for easy application/library debug log output when flagged by environment variables.

Inspired by debug, but with additional support for more environments like:

  • NodeJS
  • Browsers
  • React-Native

Installation

Run the following to install: npm install gle --save.

Usage

Import one of the two following functions to start logging:

import { createLog, log } from "gle";

const logContext = createLog("my-app:core");
logContext("test log", "some info");

// Or

log("my-app:core", "test log:", "some info");

createLog builds a log function with the context already defined. It is generally better for performance, as well. log does everything on the fly, and requires a context in every call.

A context is a way to group logs together into some kind of logical "area" of your application or library.

To be able to view these logs, the correct environment variable must be specified.

Displaying logs in the browser

To enable logging for a context in the browser, you can use something like the following:

localStorage.debug = "app:*";

Later:

import { createLog, log } from "gle";

const logContext = createLog("app:websocket");
logContext("connecting socket");

Which will display a log like the following in the browser's console:

app:websocket connecting socket +0ms

Displaying logs in NodeJS

To enable logging for a context in a NodeJS app, set the DEBUG environment variable:

DEBUG=app:* node index.js

Later, after building:

import { createLog, log } from "gle";

const logContext = createLog("app:db");
logContext("connecting database");

Log flags

The debug environment value can be made up of several different types of patterns:

  • A single context: my-app:some:context
  • Multiple contexts: app:core,app:net
  • A Negated context: -app:test
  • A combination: -app:test,app:init
  • Wild cards: app:*
    • Multiple: app:*,system:*
    • Anywhere: app:test,system:*:core
    • Negated: -system:*

Package Sidebar

Install

npm i gle

Weekly Downloads

194

Version

1.0.3

License

MIT

Unpacked Size

19.4 kB

Total Files

20

Last publish

Collaborators

  • perrymitchell