UNPKG

1.18 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = setupLogger;
5
6var _fp = _interopRequireDefault(require("lodash/fp"));
7
8var _kleur = _interopRequireDefault(require("kleur"));
9
10var _glogg = _interopRequireDefault(require("glogg"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14/* eslint-disable no-console */
15const logger = (0, _glogg.default)('rsg');
16
17const format = message => message.trim() + '\n';
18
19const printers = {
20 info: message => console.log(format(message)),
21 warn: message => console.warn(_kleur.default.yellow(`Warning: ${format(message)}`)),
22 debug: message => console.log(format(message))
23};
24/**
25 * Setup up logger:
26 * const logger = require('glogg')('rsg')
27 * logger.info('Drinking coffee...')
28 *
29 * @param {Object} methods Custom methods
30 * @param {bool} verbose Print debug messages
31 * @param {Object} [defaults] Default methods
32 */
33
34function setupLogger(methods, verbose, defaults) {
35 _fp.default.flow(_fp.default.defaults(defaults || printers), _fp.default.omit(verbose ? [] : ['debug']), _fp.default.toPairs, _fp.default.forEach(printer => logger.on(printer[0], printer[1])))(methods);
36}
\No newline at end of file