| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use strict';
- var format = require('util').format;
- var sparkles = require('sparkles');
- var legacySparkles = require('sparkles/legacy');
- var levels = ['debug', 'info', 'warn', 'error'];
- function getLogger(namespace) {
- var logger = sparkles(namespace);
- var deprecatedLogger = legacySparkles(namespace);
- levels.forEach(function (level) {
- logger[level] = makeLogLevel(logger, level);
- // Wire up listeners for every level on the deprecated namespace
- // If anything gets emitted on this namespace, we'll emit the
- // `deprecated` event and re-emit the event on the new logger
- deprecatedLogger.on(level, function () {
- logger.emit('deprecated');
- var args = Array.prototype.slice.call(arguments);
- logger[level].apply(logger, args);
- });
- });
- return logger;
- }
- function makeLogLevel(self, level) {
- return function (msg) {
- if (typeof msg === 'string') {
- self.emit(level, format.apply(null, arguments));
- } else {
- var args = Array.prototype.slice.call(arguments);
- self.emit.apply(self, [level].concat(args));
- }
- };
- }
- module.exports = getLogger;
|