1
0
Fork 0
Automatically migrated from Gitolite
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
Sven Slootweg 23f4667db4 1.0.1 8 anos atrás
lib Remove unnecessary interpolation, and display string-typed error properties literally 8 anos atrás
src Remove unnecessary interpolation, and display string-typed error properties literally 8 anos atrás
.gitignore Ignore debug log 8 anos atrás
CHANGELOG.md Correct a typo in the changelog 8 anos atrás
README.md Add documentation, add changelog, update donation text 8 anos atrás
gulpfile.js Initial commit 8 anos atrás
index.js Initial commit 8 anos atrás
package.json 1.0.1 8 anos atrás
test.js Hide name/message from error property display, and generate a more accurate error message if a stacktrace is absent 8 anos atrás

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