UNPKG

1.23 kBJavaScriptView Raw
1'use strict';
2
3var Debug = require('debug');
4var toArray = require('./helper/toArray');
5
6/**
7 *
8 * @class Log
9 *
10 * @param {*} args
11 * @returns {Log}
12 * @constructor
13 */
14function Log(args) {
15 var callee = Log;
16
17 callee.log.apply(callee, ['common'].concat(toArray(arguments)));
18}
19
20Log.DEBUG_KEY = 'ifnode:';
21Log.TEMPLATE = '[ifnode] [$name] $text';
22
23/**
24 *
25 * @param {string} key
26 * @param {*} args
27 */
28Log.log = function(key, args) {
29 var debug = Debug(this.DEBUG_KEY + key);
30
31 debug.apply(debug, toArray(arguments, 1));
32};
33
34/**
35 *
36 * @param {string} name
37 * @param {Error|string} warning
38 */
39Log.warning = function(name, warning) {
40 if(warning instanceof Error) {
41 warning = warning.message;
42 }
43
44 this.log(
45 'warning',
46 this.TEMPLATE
47 .replace('$name', name)
48 .replace('$text', warning)
49 );
50};
51
52/**
53 *
54 * @param {string} name
55 * @param {Error|string} error
56 */
57Log.error = function(name, error) {
58 if(!(error instanceof Error)) {
59 error = new Error(
60 this.TEMPLATE
61 .replace('$name', name)
62 .replace('$text', error)
63 );
64 }
65
66 throw error;
67};
68
69module.exports = Log;