Automatically migrated from Gitolite
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
Sven Slootweg 23f4667db4 1.0.1 8 yıl önce
lib Remove unnecessary interpolation, and display string-typed error properties literally 8 yıl önce
src Remove unnecessary interpolation, and display string-typed error properties literally 8 yıl önce
.gitignore Ignore debug log 8 yıl önce
CHANGELOG.md Correct a typo in the changelog 8 yıl önce
README.md Add documentation, add changelog, update donation text 8 yıl önce
gulpfile.js Initial commit 8 yıl önce
index.js Initial commit 8 yıl önce
package.json 1.0.1 8 yıl önce
test.js Hide name/message from error property display, and generate a more accurate error message if a stacktrace is absent 8 yıl önce

README.md

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).