1.0.0 • Published 2 years ago

@monolithed/logger v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@monolithed/logger

Build Status License

A simple logger

Installation

Install with npm or Yarn:

npm:

npm install @monolithed/logger --save

Yarn:

yarn add @monolithed/logger

Synopsis

Basic usage

import {Logger} from '@monolithed/logger';

const logger = new Logger({title: 'Hello'});

logger.info('World'); // Hello World

Options

type Options = {
    title?: string;
    debug?: boolean;
    format?: (...messages: unknown[]) => unknown[];
};

title

import {Logger} from '@monolithed/logger';

const logger = new Logger({title: 'Hello'});

logger.info('World'); // Hello World

debug

import {Logger} from '@monolithed/logger';

const logger = new Logger({debug: true});

logger.info('Hello', 'World'); // 01.07.2021, 02:05:34 Hello World

silent

Use the silent option to suppress console output. All messages will be captured in the global event "@monolithed/logger"

import {Logger} from '@monolithed/logger';

const logger = new Logger({silent: true});

logger.info('Hello'); // This message is not visible

format

const logger = new Logger({
    format(...message) {
        return ['Hello', ...message]
    }
});

logger.info('World'); // Hello World

Methods

type Methods = 'debug' | 'error' | 'info' | 'log' | 'warn';

A wide variety of Console API methods are available out of the box.

import {Logger} from '@monolithed/logger';

const logger = new Logger({title: 'Hello'});

logger.error('World'); // Hello World

Event

import {Logger} from '@monolithed/logger';

const messages = [];
const logger = new Logger({silent: true});

globalThis.addEventListener(Logger.EVENT_TYPE, ({detail}: CustomEvent<string[]>) => {
    messages.push(detail);
});

logger.log('Hello');

console.log(messages); // ["Hello"] 

Contributing

Feel free to submit a pull request if you find any bugs. Please make sure all commits are properly documented.

Tests

npm test

Publishing

npm publish --access public --verbose

License

MIT