Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

gulp-named-log

1.0.1 • Public • Published

gulp-named-log

A logging utility, primarily intended for use with Gulp or other Vinyl streams. Loosely inspired by gulp-util. Why you might want to use it:

  • Log lines are prefixed by time, name, and optionally severity.
  • Errors are displayed verbosely, in such a way that all the important details are immediately obvious.
  • Supports Vinyl (Gulp) streams - simply pipe through a logstream, and every affected file will be logged.

License

WTFPL or CC0, whichever you prefer. A donation and/or attribution are appreciated, but not required.

Donate

Maintaining open-source projects takes a lot of time, and the more donations I receive, the more time I can dedicate to open-source. If this module is useful to you, consider making a donation!

You can donate using Bitcoin, PayPal, Flattr, cash-in-mail, SEPA transfers, and pretty much anything else. Thank you!

Contributing

Pull requests welcome. Please make sure your modifications are in line with the overall code style, and ensure that you're editing the files in src/, not those in lib/.

Build tool of choice is gulp; simply run gulp while developing, and it will watch for changes.

Be aware that by making a pull request, you agree to release your modifications under the licenses stated above.

Usage

var gulp = require("gulp");
var gulpBabel = require("gulp-babel");
var gulpCache = require("gulp-cached");
var gulpPlumber = require("gulp-plumber");
var gulpNamedLog = require("gulp-named-log");
 
// We define the different named loggers here.
var babelLogger = gulpNamedLog("babel");
var gulpLogger = gulpNamedLog("gulp");
 
var source = ["src/**/*.js"]
 
gulp.task('babel', function() {
    return gulp.src(source)
        .pipe(gulpPlumber())
        .pipe(gulpCache("babel"))
        .pipe(gulpBabel({presets: ["es2015"]}))
        .pipe(babelLogger.stream()) // This logs every file going through.
        .pipe(gulp.dest("lib/"));
});
 
gulp.task('watch', function () {
    gulpLogger.info("Watching for changes:", source); // This logs once.
    gulp.watch(source, ['babel']);
});
 
gulp.task('default', ['babel', 'watch']);
 

API

gulpNamedLog(name, options)

Creates a new gulp-named-log instace.

  • name: The name prefix that is used for each line that this logger logs.
  • options:
    • basePath: Optional. The root path of the project. This is used to display shorter paths when using the logger as a Vinyl stream - rather than showing the full path of the file, it will show the path relative to the project root.
    • byteLimit: Defaults to 20. When the logger is used as a Vinyl stream, this is the maximum amount of bytes that will be rendered (in hexadecimal representation) for each file line.

logger.log(values...)

Logs each of the provided values, much like console.log would - but with a timestamp and logger name prefixed.

logger.debug(values...)

logger.info(values...)

logger.warn(values...)

logger.error(values...)

Like logger.log, but along with a timestamp and logger name, the line will also include the specified severity.

logger.stream()

Returns a new Vinyl stream, that will log (and pass through) every file it receives. In a typical gulp.watch + gulp-cache setup, this will only include the files that were modified (even if the result stays the same).

Keywords

install

npm i gulp-named-log

Downloadsweekly downloads

3

version

1.0.1

license

WTFPL

repository

Gitgit

last publish

collaborators

  • avatar
Report a vulnerability