@unic/composite-logger

Lightweight logger composite to help you debug your modules and disable when you go to production

Usage no npm install needed!

<script type="module">
  import unicCompositeLogger from 'https://cdn.skypack.dev/@unic/composite-logger';
</script>

README

composite-logger

Lightweight logger composite to help you debug your modules and disable when you go to production

Installation

$ npm install @unic/composite-logger

Importing

// ES6 Module
import logger from '@unic/composite-logger';

// CommomJS
const logger = require('@unic/composite-logger').default;

Usage

Creation

// Creation of object
const obj = logger('MyPrefix'); // Exposes .log() method

// Logging stuff
window.localStorage.debug = true; // If this is falsy, nothing will be logged to the console
obj.log('Hello', 'World'); // Outputs 'MyPrefix → Hello World' to the console

API

logger([prefix])

Create an object with a log method.

Returns: Object - Returns an object with exposed .log() method

Param Type Default Description
[prefix] String If given, provides a prefix for the logged content from the log method

Example

// Basic form
const obj = logger('MyModule');

// No prefix
const obj = logger();

// Composition
const obj = Object.assign({}, object1, object2, logger('MyModule'));

log([params...])

Log function params to console (including given prefix from creation).

Info: window.localStorage.debug must be truthy to see output in the console

Returns: undefined

Param Type Default Description
[params...] Any Pass any number of arguments you want to log to the console

Example

// Creation
const obj = logger('MyModule');

window.localStorage.debug = true; // Enable logging to the console

obj.log('Hello', 'World', '!'); // Outputs 'MyModule → Hello World !' to the console
obj.log(1, 2, 3, 4); // Outputs 'MyModule → 1 2 3 4' to the console

Helpful Information

A composite is a function or an object which can be used as is or to merged with another object. These composites are normally used in the factory/composition pattern.

Helpful Ressources:

License

Apache-2.0