UNPKG

logify

Version:
55 lines (42 loc) 1.37 kB
'use strict'; var _toConsumableArray = require('babel-runtime/helpers/to-consumable-array')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = makeLogger; var _extend = require('./extend'); var _extend2 = _interopRequireDefault(_extend); var _util = require('util'); function makeLogger(level) { return function log(context, message) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } // no context given if (typeof context === 'string') { args = [].slice.call(arguments, 1); message = context; context = null; } // context is an error if (context instanceof Error) { context = { error: context }; if (message == undefined) { message = context.error.message; } } if (!context) { context = {}; } if (message) { context.message = _util.format.apply(undefined, [message].concat(_toConsumableArray(args))); } context.level = level; context.time = context.time || new Date(); return this.log((0, _extend2['default'])({}, this.context, context)); }; } module.exports = exports['default'];