gulp-messenger

0.28.2 • Public • Published

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


Package Sidebar

Install

npm i gulp-messenger

Weekly Downloads

1,093

Version

0.28.2

License

MIT

Unpacked Size

54.6 kB

Total Files

22

Last publish

Collaborators

  • codedungeon