-
Notifications
You must be signed in to change notification settings - Fork 0
/
CLogger.js
101 lines (101 loc) · 3.17 KB
/
CLogger.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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/**
* 2019
*
* Contributor(s):
*
* Anatoly Yuzefovich <iskhartakh@gmail.com>
*
* A module Verto lib
*
* @module CLogger
*/
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
/** Class representation a logger */
var CLogger = /** @class */ (function () {
/**
* Create a logger
*
* @param {String} [label=default] - Prepend log messages text
* @param {String} [debug=true] - Debug level enable flag
*/
function CLogger(label, debug) {
if (label === void 0) { label = 'default'; }
if (debug === void 0) { debug = true; }
this._debug = true;
this._label = label;
this._debug = debug;
}
CLogger.prototype.debug = function () {
var msg = [];
for (var _i = 0; _i < arguments.length; _i++) {
msg[_i] = arguments[_i];
}
if (this._debug) {
console.log.apply(console, __spreadArrays([this._label], msg));
}
};
CLogger.prototype.warn = function () {
var msg = [];
for (var _i = 0; _i < arguments.length; _i++) {
msg[_i] = arguments[_i];
}
console.warn.apply(console, __spreadArrays([this._label], msg));
};
CLogger.prototype.info = function () {
var msg = [];
for (var _i = 0; _i < arguments.length; _i++) {
msg[_i] = arguments[_i];
}
console.info.apply(console, __spreadArrays([this._label], msg));
};
CLogger.prototype.error = function () {
var msg = [];
for (var _i = 0; _i < arguments.length; _i++) {
msg[_i] = arguments[_i];
}
console.error.apply(console, __spreadArrays([this._label], msg));
};
Object.defineProperty(CLogger.prototype, "label", {
/** Get instance label */
get: function () {
return this._label;
},
/** Set instance label */
set: function (label) {
this._label = label;
},
enumerable: true,
configurable: true
});
/**
* Add method label to original label and return new instance of CLogger
*
* @param {String} method - Method name or what we need to label
* @param {Boolean} debug - Debug flag
* @return {CLogger} new CLogger instance with new label
*/
CLogger.prototype.method = function (method, debug) {
return new CLogger(this.label + ":" + method, debug);
};
/**
* Create new logger instance
*
* @param {String} [label=default] - Prepend log messages text
* @param {String} [debug=true] - Debug level enable flag
* @return {CLogger} new CLogger instance with new label
*/
CLogger.prototype.new = function (label, debug) {
if (label === void 0) { label = 'default'; }
if (debug === void 0) { debug = true; }
return new CLogger(label, debug);
};
return CLogger;
}());
export { CLogger };
//# sourceMappingURL=CLogger.js.map