Notify President Madagascar
    Have ideas to improve npm?Join in the discussion! »

    @shopify/logger
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.4 • Public • Published

    @shopify/logger

    Build Status Build Status License: MIT npm version

    Opinionated logger for production-scale applications.

    Installation

    $ yarn add @shopify/logger

    Usage

    Instantiation

    A basic logger can be created simply by calling the Logger constructor:

    const logger = new Logger();

    The Logger constructor also takes an options object. For example:

    const logger = new Logger({
      name: 'my-logger',
      formatter: new ConsoleFormatter(),
    });

    The options object adheres to the following interface:

    interface LoggerOptions {
      formatter?: Formatter;
      name?: string;
    }

    The name of a logger will be used as it's root scope. A formatter may use this to provide context when outputting a log entry. For example, the ConsoleFormatter will preface each log with its scope, such as:

    [my-logger] ℹ info - some log text
    

    A Formatter is simply an object that implements the Formatter interface:

    export interface Formatter {
      format(entry: FormatEntry): any;
    }

    In addition to writing your own formatter, See Formatters below for a list of provided formatters.

    Logging

    Given the logger above, we can log information to the console using the built-in info, warn, and error functions. For example:

    logger.info('Hello, world!');
    logger.warn('Something bad might happen');
    logger.error(new Error('Operation not permitted.'));

    Formatters

    This package provides the following formatters:

    • ConsoleFormatter

    ConsoleFormatter

    Formats and prints logs via console.log, console.warn, and console.error.

    Screenshots

    ConsoleFormatter sample error output

    ConsoleFormatter sample log output on a dark background

    ConsoleFormatter sample log output on a light background

    Keywords

    none

    Install

    npm i @shopify/logger

    DownloadsWeekly Downloads

    52

    Version

    0.2.4

    License

    MIT

    Unpacked Size

    38.6 kB

    Total Files

    42

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar