ng2-logger 16.5.15 → 16.5.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/display.js DELETED
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Display = void 0;
4
- //#endregion
5
- var level_1 = require("./level");
6
- var tnp_core_1 = require("tnp-core");
7
- var backend_logging_1 = require("./backend-logging");
8
- //#region @backend
9
- var chalk_1 = require("chalk");
10
- //#endregion
11
- var Display = /** @class */ (function () {
12
- function Display() {
13
- }
14
- Display.msg = function (message, params, moduleName, moduleColor, level, moduleWidth, isProductionMode) {
15
- if (isProductionMode) {
16
- return;
17
- }
18
- ;
19
- var color = 'gray';
20
- if (level === level_1.Level.INFO) {
21
- color = 'deepskyblue';
22
- }
23
- if (level === level_1.Level.ERROR) {
24
- color = 'red';
25
- }
26
- if (level === level_1.Level.WARN) {
27
- color = 'orange';
28
- }
29
- if (moduleWidth) {
30
- var diff = moduleWidth - moduleName.length;
31
- if (diff > 0) {
32
- for (var i = 0; i < diff; i++) {
33
- moduleName += ' ';
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
- //#region @backend
86
- if (tnp_core_1.Helpers.isNode) {
87
- var a1 = chalk_1.default.bgHex(moduleColor)(global.hideLog ? '' : "".concat(chalk_1.default.black(moduleName)));
88
- var p = params;
89
- if (typeof message === 'string') {
90
- a1 = a1 + chalk_1.default.keyword(color)(global.hideLog ? '' : ' [') + chalk_1.default.dim(message)
91
- + chalk_1.default.keyword(color)(global.hideLog ? '' : '] ');
92
- }
93
- else {
94
- p = [message].concat(params);
95
- }
96
- (0, backend_logging_1.consoleLog)(a1, level);
97
- (0, backend_logging_1.displayParams)(p, level);
98
- }
99
- //#endregion
100
- };
101
- return Display;
102
- }());
103
- exports.Display = Display;
104
- //# sourceMappingURL=display.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEA,YAAY;AACZ,iCAAgC;AAChC,qCAAmC;AACnC,qDAA8D;AAE9D,kBAAkB;AAClB,+BAA0B;AAC1B,YAAY;AAEZ;IAAA;IAgGA,CAAC;IA9FQ,WAAG,GAAV,UACE,OAAqB,EACrB,MAAa,EACb,UAAkB,EAClB,WAAmB,EACnB,KAAY,EACZ,WAA+B,EAC/B,gBAAyB;QAEzB,IAAI,gBAAgB,EAAE;YACpB,OAAO;SACR;QAAA,CAAC;QACF,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,KAAK,KAAK,aAAK,CAAC,IAAI,EAAE;YAAE,KAAK,GAAG,aAAa,CAAC;SAAE;QACpD,IAAI,KAAK,KAAK,aAAK,CAAC,KAAK,EAAE;YAAE,KAAK,GAAG,KAAK,CAAC;SAAE;QAC7C,IAAI,KAAK,KAAK,aAAK,CAAC,IAAI,EAAE;YAAE,KAAK,GAAG,QAAQ,CAAC;SAAE;QAE/C,IAAI,WAAW,EAAE;YACf,IAAM,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;YAC7C,IAAI,IAAI,GAAG,CAAC,EAAE;gBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC7B,UAAU,IAAI,GAAG,CAAC;iBACnB;aACF;SACF;QAEL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QAGD,kBAAkB;QAClB,IAAI,kBAAO,CAAC,MAAM,EAAE;YAElB,IAAI,EAAE,GAAG,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAG,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAE,CAAC,CAAC;YACtF,IAAI,CAAC,GAAG,MAAM,CAAC;YACf,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,EAAE,GAAG,EAAE,GAAG,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC;sBAC3E,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACtD;iBAAM;gBACL,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9B;YACD,IAAA,4BAAU,EAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACtB,IAAA,+BAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACzB;QACD,YAAY;IAEd,CAAC;IAEH,cAAC;AAAD,CAAC,AAhGD,IAgGC;AAhGY,0BAAO"}
package/lib/index.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./log"), exports);
5
- tslib_1.__exportStar(require("./level"), exports);
6
- tslib_1.__exportStar(require("./logger"), exports);
7
- tslib_1.__exportStar(require("./display"), exports);
8
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B"}
package/lib/level.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.LevelOrder = exports.LevelKey = exports.Level = void 0;
5
- var Level;
6
- (function (Level) {
7
- Level[Level["DATA"] = 0] = "DATA";
8
- Level[Level["INFO"] = 1] = "INFO";
9
- Level[Level["WARN"] = 2] = "WARN";
10
- Level[Level["ERROR"] = 3] = "ERROR";
11
- Level[Level["SUCCESS"] = 4] = "SUCCESS";
12
- Level[Level["TASK_STARTED"] = 5] = "TASK_STARTED";
13
- Level[Level["TASK_DONE"] = 6] = "TASK_DONE";
14
- Level[Level["__NOTHING"] = 7] = "__NOTHING";
15
- })(Level = exports.Level || (exports.Level = {}));
16
- exports.LevelKey = (_a = {},
17
- _a[Level.DATA] = 'log',
18
- _a[Level.INFO] = 'info',
19
- _a[Level.WARN] = 'warn',
20
- _a[Level.ERROR] = 'error',
21
- _a[Level.SUCCESS] = 'success',
22
- _a[Level.TASK_STARTED] = 'taskstarted',
23
- _a[Level.TASK_DONE] = 'taskdone',
24
- _a[Level.__NOTHING] = '',
25
- _a);
26
- exports.LevelOrder = [
27
- exports.LevelKey[Level.DATA],
28
- exports.LevelKey[Level.TASK_STARTED],
29
- exports.LevelKey[Level.TASK_DONE],
30
- exports.LevelKey[Level.INFO],
31
- exports.LevelKey[Level.SUCCESS],
32
- exports.LevelKey[Level.WARN],
33
- exports.LevelKey[Level.ERROR],
34
- ];
35
- //# sourceMappingURL=level.js.map
package/lib/level.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"level.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;AAAA,IAAY,KASX;AATD,WAAY,KAAK;IACb,iCAAI,CAAA;IACJ,iCAAI,CAAA;IACJ,iCAAI,CAAA;IACJ,mCAAK,CAAA;IACL,uCAAO,CAAA;IACP,iDAAY,CAAA;IACZ,2CAAS,CAAA;IACT,2CAAS,CAAA;AACb,CAAC,EATW,KAAK,GAAL,aAAK,KAAL,aAAK,QAShB;AAEY,QAAA,QAAQ;IACnB,GAAC,KAAK,CAAC,IAAI,IAAI,KAAK;IACpB,GAAC,KAAK,CAAC,IAAI,IAAI,MAAM;IACrB,GAAC,KAAK,CAAC,IAAI,IAAI,MAAM;IACrB,GAAC,KAAK,CAAC,KAAK,IAAI,OAAO;IACvB,GAAC,KAAK,CAAC,OAAO,IAAI,SAAS;IAC3B,GAAC,KAAK,CAAC,YAAY,IAAI,aAAa;IACpC,GAAC,KAAK,CAAC,SAAS,IAAI,UAAU;IAC9B,GAAC,KAAK,CAAC,SAAS,IAAI,EAAE;QACvB;AAEY,QAAA,UAAU,GAAG;IACxB,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACpB,gBAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5B,gBAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;IACzB,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACpB,gBAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;IACvB,gBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACpB,gBAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;CACtB,CAAC"}
package/lib/log.js DELETED
@@ -1,196 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Log = void 0;
4
- var tslib_1 = require("tslib");
5
- var logger_1 = require("./logger");
6
- var level_1 = require("./level");
7
- var tnp_core_1 = require("tnp-core");
8
- //#endregion
9
- //#region @backend
10
- var randomcolor = require("randomcolor");
11
- //#endregion
12
- var Log = exports.Log = /** @class */ (function () {
13
- //#region singleton
14
- function Log() {
15
- this._logOnly = false;
16
- this._logModules = false;
17
- this.isDevelopmentMode = true;
18
- this.modeIsSet = false;
19
- this.fixedWidth = 0;
20
- this.instances = {};
21
- this.levels = [];
22
- this.modules = [];
23
- }
24
- Object.defineProperty(Log, "instance", {
25
- // @ts-ignore
26
- get: function () {
27
- // @ts-ignore
28
- if (!Log['_instance']) {
29
- // @ts-ignore
30
- Log['_instance'] = new Log();
31
- }
32
- // @ts-ignore
33
- return Log['_instance'];
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- Log.create = function (name) {
39
- var _a;
40
- var level = [];
41
- for (var _i = 1; _i < arguments.length; _i++) {
42
- level[_i - 1] = arguments[_i];
43
- }
44
- return (_a = Log.instance).create.apply(_a, tslib_1.__spreadArray([name], tslib_1.__read(level), false));
45
- };
46
- Log.disableLogs = function (level) {
47
- var _this = this;
48
- if (level === void 0) { level = level_1.Level.__NOTHING; }
49
- //#region @backend
50
- // if (Helpers.isNode && (level === Level.__NOTHING)) {
51
- // if (!this.consolelogfn[PROCESS_STDOUT_WRITE]) {
52
- // this.consolelogfn[PROCESS_STDOUT_WRITE] = process.stdout.write; // TOOD not working
53
- // }
54
- // process.stdout.write = (() => { }) as any;
55
- // }
56
- //#endregion
57
- level_1.LevelOrder.reverse().find(function (a) {
58
- // @ts-ignore
59
- if (!_this.consolelogfn[a]) {
60
- // @ts-ignore
61
- _this.consolelogfn[a] = console[a];
62
- }
63
- // @ts-ignore
64
- console[a] = function () { };
65
- if (a === level_1.LevelKey[level]) {
66
- return true;
67
- }
68
- return false;
69
- });
70
- };
71
- Log.enableLogs = function () {
72
- var _this = this;
73
- //#region @backend
74
- // if (Helpers.isNode) {
75
- // process.stdout.write = this.consolelogfn[PROCESS_STDOUT_WRITE];
76
- // }
77
- //#endregion
78
- level_1.LevelOrder.forEach(function (a) {
79
- // @ts-ignore
80
- console[a] = _this.consolelogfn[a];
81
- });
82
- };
83
- //#region public api
84
- Log.prototype.setProductionMode = function () {
85
- var _this = this;
86
- if (this.modeIsSet) {
87
- this.modeIsSet = false;
88
- throw '[ng2-logger] Production mode is already set';
89
- }
90
- else {
91
- this.modeIsSet = true;
92
- setTimeout(function () {
93
- if (_this.modeIsSet && console !== void 0 && console.clear !== void 0) {
94
- console.clear();
95
- console.log = function () { };
96
- console.error = function () { };
97
- console.warn = function () { };
98
- console.info = function () { };
99
- }
100
- });
101
- this.isDevelopmentMode = false;
102
- }
103
- };
104
- Log.prototype.onlyModules = function () {
105
- var modules = [];
106
- for (var _i = 0; _i < arguments.length; _i++) {
107
- modules[_i] = arguments[_i];
108
- }
109
- if (this._logModules) {
110
- throw '[ng2-logger] You should use funcion onlyModules only once';
111
- }
112
- if (!this._logModules) {
113
- this._logModules = true;
114
- }
115
- if (modules.length === 0)
116
- return;
117
- this.modules = modules;
118
- // console.log('only log this', Log.modules)
119
- this.muteAllOtherModules();
120
- };
121
- Log.prototype.onlyLevel = function () {
122
- var level = [];
123
- for (var _i = 0; _i < arguments.length; _i++) {
124
- level[_i] = arguments[_i];
125
- }
126
- if (this._logOnly) {
127
- throw '[ng2-logger] You should use funcion onlyLevel only once';
128
- }
129
- if (!this._logOnly) {
130
- this._logOnly = true;
131
- }
132
- this.levels = Array.isArray(level) ? level : [level];
133
- for (var logName in this.instances) {
134
- if (this.instances.hasOwnProperty(logName)) {
135
- var element = this.instances[logName];
136
- element['allowed'] = this.levels;
137
- }
138
- }
139
- };
140
- //#endregion
141
- Log.prototype.create = function (name) {
142
- var level = [];
143
- for (var _i = 1; _i < arguments.length; _i++) {
144
- level[_i - 1] = arguments[_i];
145
- }
146
- var i;
147
- if (Array.isArray(this.levels) && this.levels.length > 0) {
148
- level = this.levels;
149
- }
150
- if (this.instances[name] === void 0) {
151
- i = new (Log.Logger)(name, getRandomColor(), this.isDevelopmentMode, level, this.isMutedModule(name), this.levels.length > 0 ? this.fixedWidth : void 0);
152
- this.instances[name] = i;
153
- }
154
- else {
155
- i = this.instances[name];
156
- }
157
- return i;
158
- };
159
- Log.prototype.isMutedModule = function (moduleName) {
160
- if (this.modules.length == 0)
161
- return false;
162
- if (!tnp_core_1.Helpers.contain(this.modules, moduleName))
163
- return true;
164
- return false;
165
- };
166
- Log.prototype.muteAllOtherModules = function () {
167
- for (var moduleName in this.instances) {
168
- if (!tnp_core_1.Helpers.contain(this.modules, moduleName))
169
- this.instances[moduleName].mute();
170
- }
171
- };
172
- //#endregion
173
- Log.Logger = logger_1.Logger;
174
- Log.consolelogfn = {};
175
- return Log;
176
- }());
177
- function getRandomColor() {
178
- //#region @backend
179
- if (tnp_core_1.Helpers.isNode) {
180
- return randomcolor({ luminosity: 'light', count: 10 });
181
- }
182
- //#endregion
183
- var letters = '012345'.split('');
184
- var color = '#';
185
- color += letters[Math.round(Math.random() * 5)];
186
- letters = '0123456789ABCDEF'.split('');
187
- for (var i = 0; i < 5; i++) {
188
- color += letters[Math.round(Math.random() * 15)];
189
- }
190
- if (color === void 0) {
191
- return getRandomColor();
192
- }
193
- ;
194
- return color;
195
- }
196
- //# sourceMappingURL=log.js.map
package/lib/log.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}