forked from styleguidist/react-styleguidist
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.js
31 lines (27 loc) · 829 Bytes
/
logger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'use strict';
/* eslint-disable no-console */
const _ = require('lodash/fp');
const logger = require('glogg')('rsg');
const format = message => message.trim() + '\n';
const printers = {
info: message => console.log(format(message)),
warn: message => console.warn(`Warning: ${format(message)}`),
debug: message => console.log(format(message)),
};
/**
* Setup up logger:
* const logger = require('glogg')('rsg')
* logger.info('Drinking coffee...')
*
* @param {Object} methods Custom methods
* @param {bool} verbose Print debug messages
* @param {Object} [defaults] Default methods
*/
module.exports = function setupLogger(methods, verbose, defaults) {
_.flow(
_.defaults(defaults || printers),
_.omit(verbose || ['debug']),
_.toPairs,
_.forEach(printer => logger.on(printer[0], printer[1]))
)(methods);
};