gulp-messenger

Console/Gulp and File Logger

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
gulp-messenger
2130.28.26 years ago9 years agoMinified + gzip package size for gulp-messenger in KB

Readme

gulp-messenger

gulp plugin for browser, command line notification and logging!

Build Status Dependency Status npm() npm()
View on npm

Install with npm

npm install gulp-messenger

Usage

var msg = require('gulp-messenger');

msg.init(); // initialize module, otherwise defaults will be used

// this example will enable file logging (see options below)
msg.init({logToFile: true});


// this will disable logging to file and interpolation variables will be font style as message (no bold)
var options = { logToFile: false, boldVariables: false };
msg.init(options);


// You can use titleCase or lower case for msg methods
msg.Info('-', 'Loading...', '*');
msg.log    ('style: <%= name %>', {name: 'info'});     // default color White
msg.Info   ('style: <%= name %>', {name: 'info'});     // default color Cyan
msg.Success('style: <%= name %>', {name: 'success'});  // default color Green
msg.Warning('style: <%= name %>', {name: 'warning'});  // default color Yellow
msg.Error  ('style: <%= name %>', {name: 'error'});    // default color Red
msg.Note   ('style: <%= name %>', {name: 'note'});     // default color Orange
msg.Time   ('style: <%= name %>', {name: 'time'});
msg.Debug  ('style: <%= name %>', {name: 'debug'});
msg.Table  (array|object)

API

info/Info, success/Success, warning/Warning, error/Error, note/Note, time/Time, debug/Debug, line/Line

  • lowercase methods are to be used in gulp pipeline or outside (same API can be used for both Node, Browser, and Gulp)
  • Titlecase methods are to be used outside of gulp (ie Node or browser)

Default Options (supplied to init method)
var defOptions = {
    logToFile:          false,
    logTimestampFormat: 'YYYY-MM-DD HH:mm:ss Z',
    logToConsole:       true,
    logPath:            'logs/',
    logFile:            'app.log',
    timestamp:          false,
    rotateLog:          false,
    boldVariables:      true,
    useDumpForObjects:  true
};

logToFile (default: false)
- will log the supplied message to `logger` instance and log to file

logToConsole (default: true)
- will log message to console

logTimestampFormat (default: YYYY-MM-DD HH:mm:ss Z)
- when logging to file, uses momentjs formats

logPath (default: 'logs/' at root level)
- desired path where log files will be stored

logFile (default: 'app.log')
- desired filename where log files will be stored

timestamp (default: false)
- Will include timestamp on consoled messages

rotateLog (default: false)
- will create a new log file each day

boldVariables (default: true)
- when perform interpolation, the actual variable will be bold

useDumpForObjects (default: true)
- when enabled, is passing a single object paramter, msg.dump() will be used instead of standard console output
- when disabled, native msg.xxx will be used (default colors, etc)

For example info Use msg.info for each file into the stream
msg.Info('This information message logged to console and optionally log file.  Configured by `options` parameter supplied to `msg.init` method');
msg.info('This information message logged to console and optionally log file.  Configured by `options` parameter supplied to `msg.init` method');

or -

// If you using in gulp stream, include the `flush` property as shown here
// All messenger routines (except dump) are supported in the gulp pipleline
gulp.src('src/**/*')
    .pipe(msg.flush.info('Piping Message'));  // 'Piping Message' for each file

Use msg.flush.info at the and of the stream
gulp.src('src/**/*')
    .pipe(msg.flush.info('Process Completed Successfully')); //'Process Completed Successfully' at the and of stream

Use msg.Info from the outside of the stream
msg.Info('Application Message'); //'Application Message' in node.js application

msg.version|msg.Version

Returns current module version

msg.Info(before, message, after, data)

Show message

Parameters

before
after
Type: String
Delimiter before/after the message. Each character is repeated 80 times

Usage

msg.Info('--', 'Hello World', '*')
data
Type: Object
Data for message. Inherited values:
env           - process.env
file          - vinyl file
file.relative - relative path (extra field)
file.basename - basename (extra field)
duration      - duration of streaming
totalDuration - duration from gulpfile start
message
Type: String
Lodash compatible template (may also use Underscore over Lodash).

Usage

msg.Info('Environment: <%= env.NODE_ENV %>. Name: <%= name %>', {name: 'codedungeon'})
//Environment: dev. name: codedungeon

License

Copyright (c) 2015-2016 Mike Erickson Released under the MIT license

Credits

gulp-messenger written by Mike Erickson
E-Mail: codedungeon@gmail.com
Twitter: @codedungeon
Webiste: codedungeon.org