An extremely lightweight logging utility for NodeJS & the Angie Framework
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
md
src/services
svg
test/src/services
.editorconfig
.eslintrc
.gitignore
.jscsrc
.npmignore
.travis.yml
AngieFile.json
LICENSE
README.md
esdoc.json
gulpfile.babel.js
package.json

README.md

emblem

Angie Log

An extremely lightweight logging utility for NodeJS built in ES6

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.