al

angie-log

An extremely lightweight logging utility for NodeJS & the Angie Framework

Showing:

Popularity

Downloads/wk

4

GitHub Stars

1

Maintenance

Last Commit

6yrs ago

Contributors

3

Package

Dependencies

3

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

emblem

Angie Log

An extremely lightweight logging utility for NodeJS & the Angie Framework

npm version iojs support node support npm downloads build status Coverage Status documentation

NPM

About

Angie Log is designed as an extremely lightweight logging utility for NodeJS which will:

  • Prettify the terminal output using the Chalk package
  • Provide utilities for printing useful and informative terminal output
  • Create asynchronously written, non-blocking log files to maintain said useful and informative output based on well-defined JS log levels

Usage

npm i -g angie-log

If Used Standalone

import { default as Log } from 'angie-log';

// Call a new logger with defaults
let logger = new Log({
        outfile:    'log.log',              // Set the outfile
        file:       'log.log',              // Equivalent to `outfile`
        name:       'test',                 // Set the name of the logger
        timestamp:  true,                   // Controls whether the logfile output has a timestamp
        level:      'debug',                // Sets a single log level
        levels:     [ 'info', 'debug' ],    // Sets many available log levels
        logLevel:   'debug',                // Equivalent to `level`
        logLevels:  [ 'info', 'debug' ],    // Equivalent to `levels`
        silent:     false                   // Controls whether the log instance should output into the terminal as well
    }),
    err = new Log('log.log', 'test', true, 'error', false);

// Call the loggers with the string "test"
logger.info('test');
err.error('test');

// $setOutfile to change the output file
log.$setOutfile(`${process.cwd()}/angie.log`);

// $setName to change the name of the logger and what is logged in the outfile
log.$setOutfile('test');

// $setTimestamp to toggle timestamps in the log output
log.$setTimestamp(true);

// $setLevel to change the log level
log.$setLevel(true);

// $setSilent to prevent terminal output
log.$setSilent(true);

// Explicitly call the prettified terminal output
Log.info('test');
Log.debug('test');
Log.warn('test');
Log.error('test');

If Used in an Angie Application

Include the module in the same fashion as it is above, or wherever called modules are bound:

@Controller
class Test {
    constructor($Log) {
        $Log.info('The log module was included in a controller');
    }
}

The functions available on the Angie Log module are equivalent in either context.

For a list of Frequently Asked Questions, please see the FAQ and the CHANGELOG for an up to date list of changes. Contributors to this Project are outlined in the CONTRIBUTORS file.

Angie

Please see the site for information about the project, a quickstart guide, and documentation and the CHANGELOG for an up to date list of changes.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100