@dynamic-labs/logger 0.15.0-RC.2

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/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # logger
2
+
3
+ Generic logger that wraps console.log with support of log levels and formatting messages.
4
+
5
+ Features:
6
+
7
+ 1. Create a new named logger `new Logger(name, LogLevel.INFO)`
8
+ 2. Formats log messages: `[name] [level]: message`
9
+ 3. Supports additional arguments just like console log
10
+ 4. Change the loglevel with `logger.setLogLevel(LogLevel)`
11
+
12
+ ## Building
13
+
14
+ Run `nx build logger` to build the library.
15
+
16
+ ## Running unit tests
17
+
18
+ Run `nx test logger` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@dynamic-labs/logger",
3
+ "version": "0.15.0-RC.2",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/dynamic-labs/DynamicAuth.git",
7
+ "directory": "packages/logger"
8
+ },
9
+ "description": "A simple client side logging library used in Dynamic SDK",
10
+ "bugs": {
11
+ "url": "https://github.com/dynamic-labs/DynamicAuth/issues"
12
+ },
13
+ "homepage": "https://github.com/dynamic-labs/DynamicAuth/main/packages/logger#readme",
14
+ "author": "Dynamic Labs, Inc.",
15
+ "license": "MIT",
16
+ "main": "./src/index.js",
17
+ "types": "./src/index.d.ts"
18
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = 0,
3
+ INFO = 1,
4
+ WARN = 2,
5
+ ERROR = 3,
6
+ MUTE = 99
7
+ }
8
+ type Message = string | Error | unknown;
9
+ export declare class Logger {
10
+ private name;
11
+ private level;
12
+ constructor(name: string, level?: LogLevel);
13
+ setLogLevel(level: LogLevel | keyof typeof LogLevel): void;
14
+ private formatMessage;
15
+ log(level: LogLevel, message: Message, ...args: any[]): void;
16
+ debug(message: Message, ...args: any[]): void;
17
+ info(message: Message, ...args: any[]): void;
18
+ warn(message: Message, ...args: any[]): void;
19
+ error(message: Message, ...args: any[]): void;
20
+ }
21
+ export {};
package/src/index.js ADDED
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = exports.LogLevel = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any, no-console */
5
+ var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
8
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
9
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
10
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
11
+ LogLevel[LogLevel["MUTE"] = 99] = "MUTE";
12
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
13
+ class Logger {
14
+ constructor(name, level) {
15
+ this.name = name;
16
+ if (level === undefined && process.env['NODE_ENV'] !== 'production') {
17
+ this.level = LogLevel.DEBUG;
18
+ }
19
+ else if (level === undefined) {
20
+ this.level = LogLevel.WARN;
21
+ }
22
+ else {
23
+ this.level = level;
24
+ }
25
+ }
26
+ setLogLevel(level) {
27
+ if (level in LogLevel && typeof level === 'string') {
28
+ this.level = LogLevel[level];
29
+ }
30
+ else if (level in LogLevel && typeof level === 'number') {
31
+ this.level = level;
32
+ }
33
+ else {
34
+ throw new Error(`Invalid log level: ${level}`);
35
+ }
36
+ }
37
+ formatMessage(level, message) {
38
+ if (message instanceof Error) {
39
+ message = message.stack;
40
+ }
41
+ else if (
42
+ // Handle Error-Like Objects
43
+ message instanceof Object &&
44
+ Object.prototype.hasOwnProperty.call(message, 'stack')) {
45
+ message = message.stack;
46
+ }
47
+ else if (message instanceof Object) {
48
+ message = JSON.stringify(message);
49
+ }
50
+ return `[${this.name}] [${LogLevel[level]}]: ${message}`;
51
+ }
52
+ log(level, message, ...args) {
53
+ if (level < this.level || level === LogLevel.MUTE) {
54
+ return;
55
+ }
56
+ const fmtMsg = this.formatMessage(level, message);
57
+ switch (level) {
58
+ case LogLevel.WARN:
59
+ console.warn(fmtMsg, ...args);
60
+ break;
61
+ case LogLevel.ERROR:
62
+ console.error(fmtMsg, ...args);
63
+ break;
64
+ default:
65
+ console.log(fmtMsg, ...args);
66
+ }
67
+ }
68
+ debug(message, ...args) {
69
+ this.log(LogLevel.DEBUG, message, ...args);
70
+ }
71
+ info(message, ...args) {
72
+ this.log(LogLevel.INFO, message, ...args);
73
+ }
74
+ warn(message, ...args) {
75
+ this.log(LogLevel.WARN, message, ...args);
76
+ }
77
+ error(message, ...args) {
78
+ this.log(LogLevel.ERROR, message, ...args);
79
+ }
80
+ }
81
+ exports.Logger = Logger;
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/logger/src/index.ts"],"names":[],"mappings":";;;AAAA,mEAAmE;AACnE,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,wCAAS,CAAA;AACX,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AAID,MAAa,MAAM;IAEjB,YAAoB,IAAY,EAAE,KAAgB;QAA9B,SAAI,GAAJ,IAAI,CAAQ;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE;YACnE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC7B;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;IACH,CAAC;IAEM,WAAW,CAAC,KAAuC;QACxD,IAAI,KAAK,IAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAClD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACzD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;SAChD;IACH,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAgB;QACrD,IAAI,OAAO,YAAY,KAAK,EAAE;YAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;SACzB;aAAM;QACL,4BAA4B;QAC5B,OAAO,YAAY,MAAM;YACzB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EACtD;YACA,OAAO,GAAI,OAAe,CAAC,KAAK,CAAC;SAClC;aAAM,IAAI,OAAO,YAAY,MAAM,EAAE;YACpC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC;IAC3D,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAgB,EAAE,GAAG,IAAW;QAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE;YACjD,OAAO;SACR;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAElD,QAAQ,KAAK,EAAE;YACb,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR;gBACE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAEM,KAAK,CAAC,OAAgB,EAAE,GAAG,IAAW;QAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,IAAI,CAAC,OAAgB,EAAE,GAAG,IAAW;QAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEM,IAAI,CAAC,OAAgB,EAAE,GAAG,IAAW;QAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,OAAgB,EAAE,GAAG,IAAW;QAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAxED,wBAwEC"}