Numeric Production Mechanism
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    femto-loggerpublic

    femto-logger

    A small, flexible logger for Node.js

    Desired Features

    • Small and easy to use. Configure (or don't) and forget it.
    • Different levels of reporting (DEBUG, INFO, WARNING, ERROR, FATAL)
    • Level-based ANSI coloring
    • UTC-based Timestamping
    • printf-style formatting of messages

    Usage

    Usage is pretty basic:

    var logging = require('femto-logging');
    logging.info('Something happened.');
    

    which will yield something like:

    2014-02-18T23:34:12+00:00 [INFO] Something happened.
    

    Coloring

    Femto-logger uses ANSI coloring to color the log line according to the level.

    The colors can be altered to your liking as such:

    logging.config.colors.debug = logging.BRIGHT_CYAN;
    

    The defaults are as follows:

    • DEBUG: DARK_WHITE
    • INFO: BRIGHT_WHITE
    • WARNING: BRIGHT_YELLOW
    • ERROR: BRIGHT_RED
    • FATAL: BRIGHT_MAGENTA

    Possible values are: DARK_BLACK, DARK_RED, DARK_GREEN, DARK_YELLOW, DARK_BLUE, DARK_MAGENTA, DARK_CYAN, DARK_WHITE, BRIGHT_BLACK, BRIGHT_RED, BRIGHT_GREEN, BRIGHT_YELLOW, BRIGHT_BLUE, BRIGHT_MAGENTA, BRIGHT_CYAN, BRIGHT_WHITE, and NONE

    It can also be disabled, which is equivalent to setting all colors to NONE:

    logging.config.coloring = false;
    

    Timestamping

    Timestaamps default to UTC (GMT) for consistency, though the exact time is still based on the system clock and not an external time source. The default format is ISO 8601.

    The format can be changed as such:

    logging.config.date.format = 'YYYY-MM-DDTHH:mm:ssZ';
    

    There is currently a single constant ISO8601 that can be used to reset the value.

    The format of the date string is determined by the underlying moment instance.

    Labels

    Level labels can also be altered as such:

    logging.config.labels.debug = 'DEBUG';
    

    Message Formatting

    Messages can be formatted using printf-style placeholders:

    logging.debug('These are placeholders: %s, %d', 'abc', 789);
    

    More information on usage of placeholders is available at the node-printf project website.

    Return Values

    In addition to messages being logged to the console, they are also returned from the logging function:

    var message = logging.debug('Now the message variable has this content as well.');
    

    Messages are logged to the console by default, but can be turned off easily:

    logging.config.console.suppress = true;
    

    install

    npm i femto-logger

    Downloadsweekly downloads

    7

    version

    0.0.3

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar