Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@thi.ng/logger

Package Overview
Dependencies
Maintainers
1
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@thi.ng/logger

Types & basis infrastructure for arbitrary logging (w/ default impls)

  • 1.4.2
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

logger

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

Types & basis infrastructure for arbitrary logging (w/ default impls).

The types & implementations provided by this package are used in various places throughout the thi.ng/umbrella ecosystem and can be swapped out on demand to customize users' needs.

Log levels

All loggers based on this basic framework provided by this package support the following LogLevels (in order of importance):

  • FINE
  • DEBUG
  • INFO
  • WARN
  • SEVERE

Logging calls targetting lower levels than configured in the logger will be ignored.

Supplied implementations

The following logger implementations are provided:

Lazy evaluation

Log messages can contain any number & types of arguments. No-arg functions can be provided as message arg to avoid evaluation of potentially costly message formatting for suppressed log levels. For example:

import { ConsoleLogger, LogLevel } from "@thi.ng/logger";

const logger = new ConsoleLogger("app", LogLevel.INFO);

const name = "thi.ng";

// eager (standard) arg evaluation
logger.info(`hello, ${name}`);
// [INFO] app: hello, thi.ng

// eager (standard) arg evaluation, but suppressed output
logger.debug("result is", 23 + 42);

// lazy arg evaluation
logger.info("result is", () => 23 + 42);
// [INFO] app: result is 65

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/logger

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/logger"></script>

Skypack documentation

For Node.js REPL:

# with flag only for < v16
node --experimental-repl-await

> const logger = await import("@thi.ng/logger");

Package sizes (gzipped, pre-treeshake): ESM: 553 bytes

Dependencies

None

Usage examples

Several demos in this repo's /examples directory are using this package.

A selection:

ScreenshotDescriptionLive demoSource
Drawing to floating point offscreen / multi-pass shader pipelineDemoSource
Zig-based DOM creation & canvas drawing appDemoSource

API

Generated API docs

TODO

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-logger,
  title = "@thi.ng/logger",
  author = "Karsten Schmidt",
  note = "https://thi.ng/logger",
  year = 2016
}

License

© 2016 - 2022 Karsten Schmidt // Apache Software License 2.0

Keywords

FAQs

Package last updated on 28 Oct 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc