@oino-ts/common 0.8.0 → 0.8.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.
@@ -28,7 +28,8 @@ var OINOLogLevel;
28
28
  */
29
29
  class OINOLog {
30
30
  static _instance;
31
- _logLevels = { "*|*|*": OINOLogLevel.warning };
31
+ _logLevels = { "||": OINOLogLevel.warning };
32
+ _defaultLogLevel = OINOLogLevel.warning;
32
33
  /**
33
34
  * Abstract logging method to implement the actual logging operation.
34
35
  *
@@ -37,7 +38,8 @@ class OINOLog {
37
38
  */
38
39
  constructor(logLevel = OINOLogLevel.warning) {
39
40
  // console.log("OINOLog.constructor: logLevel=" + logLevel)
40
- this._logLevels["*|*|*"] = logLevel;
41
+ this._logLevels["||"] = logLevel;
42
+ this._defaultLogLevel = logLevel;
41
43
  }
42
44
  /**
43
45
  * Abstract logging method to implement the actual logging operation.
@@ -52,9 +54,11 @@ class OINOLog {
52
54
  const log_levels = OINOLog._instance._logLevels;
53
55
  // console.log(log_levels)
54
56
  const min_level = log_levels[domain + "|" + channel + "|" + method] ||
55
- log_levels[domain + "|" + channel + "|*"] ||
56
- log_levels[domain + "|*|*"] ||
57
- log_levels["*|*|*"];
57
+ log_levels[domain + "||" + method] ||
58
+ log_levels[domain + "|" + channel + "|"] ||
59
+ log_levels["|" + channel + "|"] ||
60
+ log_levels[domain + "||"] ||
61
+ log_levels["||"];
58
62
  // console.log("_log: level=" + level + ", min_level=" + min_level + ", levelStr=" + levelStr + ", message=" + message, data)
59
63
  if ((OINOLog._instance) && (level >= min_level)) {
60
64
  OINOLog._instance?._writeLog(levelStr, domain, channel, method, message, data);
@@ -87,7 +91,7 @@ class OINOLog {
87
91
  * @param method method of the log event (default: "*" for all)
88
92
  *
89
93
  */
90
- static setLogLevel(logLevel, domain = "*", channel = "*", method = "*") {
94
+ static setLogLevel(logLevel, domain = "", channel = "", method = "") {
91
95
  if (OINOLog._instance) {
92
96
  OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = logLevel;
93
97
  }
@@ -157,6 +161,48 @@ class OINOLog {
157
161
  static debug(domain, channel, method, message, data) {
158
162
  OINOLog._log(OINOLogLevel.debug, "DEBUG", domain, channel, method, message, data);
159
163
  }
164
+ /**
165
+ * Get current log levels as an array of objects with domain, channel, method and level.
166
+ *
167
+ */
168
+ static exportLogLevels() {
169
+ let result = [];
170
+ if (OINOLog._instance) {
171
+ for (const key in OINOLog._instance._logLevels) {
172
+ const level = OINOLog._instance._logLevels[key];
173
+ if (level) {
174
+ const parts = key.split("|");
175
+ result.push({
176
+ domain: parts[0],
177
+ channel: parts[1],
178
+ method: parts[2],
179
+ level: level
180
+ });
181
+ }
182
+ }
183
+ }
184
+ return result;
185
+ }
186
+ /**
187
+ * Import log levels from an array of objects with domain, channel, method and level.
188
+ *
189
+ * @param logLevels array of log level objects
190
+ *
191
+ */
192
+ static importLogLevels(logLevels) {
193
+ if (OINOLog._instance) {
194
+ OINOLog._instance._logLevels = { "||": OINOLog._instance._defaultLogLevel }; // reset to default log level
195
+ for (const logLevel of logLevels) {
196
+ const domain = logLevel.domain || "";
197
+ const channel = logLevel.channel || "";
198
+ const method = logLevel.method || "";
199
+ const level = logLevel.level;
200
+ if (level && OINOLogLevel[level]) {
201
+ OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = level;
202
+ }
203
+ }
204
+ }
205
+ }
160
206
  }
161
207
  exports.OINOLog = OINOLog;
162
208
  /**
@@ -25,7 +25,8 @@ export var OINOLogLevel;
25
25
  */
26
26
  export class OINOLog {
27
27
  static _instance;
28
- _logLevels = { "*|*|*": OINOLogLevel.warning };
28
+ _logLevels = { "||": OINOLogLevel.warning };
29
+ _defaultLogLevel = OINOLogLevel.warning;
29
30
  /**
30
31
  * Abstract logging method to implement the actual logging operation.
31
32
  *
@@ -34,7 +35,8 @@ export class OINOLog {
34
35
  */
35
36
  constructor(logLevel = OINOLogLevel.warning) {
36
37
  // console.log("OINOLog.constructor: logLevel=" + logLevel)
37
- this._logLevels["*|*|*"] = logLevel;
38
+ this._logLevels["||"] = logLevel;
39
+ this._defaultLogLevel = logLevel;
38
40
  }
39
41
  /**
40
42
  * Abstract logging method to implement the actual logging operation.
@@ -49,9 +51,11 @@ export class OINOLog {
49
51
  const log_levels = OINOLog._instance._logLevels;
50
52
  // console.log(log_levels)
51
53
  const min_level = log_levels[domain + "|" + channel + "|" + method] ||
52
- log_levels[domain + "|" + channel + "|*"] ||
53
- log_levels[domain + "|*|*"] ||
54
- log_levels["*|*|*"];
54
+ log_levels[domain + "||" + method] ||
55
+ log_levels[domain + "|" + channel + "|"] ||
56
+ log_levels["|" + channel + "|"] ||
57
+ log_levels[domain + "||"] ||
58
+ log_levels["||"];
55
59
  // console.log("_log: level=" + level + ", min_level=" + min_level + ", levelStr=" + levelStr + ", message=" + message, data)
56
60
  if ((OINOLog._instance) && (level >= min_level)) {
57
61
  OINOLog._instance?._writeLog(levelStr, domain, channel, method, message, data);
@@ -84,7 +88,7 @@ export class OINOLog {
84
88
  * @param method method of the log event (default: "*" for all)
85
89
  *
86
90
  */
87
- static setLogLevel(logLevel, domain = "*", channel = "*", method = "*") {
91
+ static setLogLevel(logLevel, domain = "", channel = "", method = "") {
88
92
  if (OINOLog._instance) {
89
93
  OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = logLevel;
90
94
  }
@@ -154,6 +158,48 @@ export class OINOLog {
154
158
  static debug(domain, channel, method, message, data) {
155
159
  OINOLog._log(OINOLogLevel.debug, "DEBUG", domain, channel, method, message, data);
156
160
  }
161
+ /**
162
+ * Get current log levels as an array of objects with domain, channel, method and level.
163
+ *
164
+ */
165
+ static exportLogLevels() {
166
+ let result = [];
167
+ if (OINOLog._instance) {
168
+ for (const key in OINOLog._instance._logLevels) {
169
+ const level = OINOLog._instance._logLevels[key];
170
+ if (level) {
171
+ const parts = key.split("|");
172
+ result.push({
173
+ domain: parts[0],
174
+ channel: parts[1],
175
+ method: parts[2],
176
+ level: level
177
+ });
178
+ }
179
+ }
180
+ }
181
+ return result;
182
+ }
183
+ /**
184
+ * Import log levels from an array of objects with domain, channel, method and level.
185
+ *
186
+ * @param logLevels array of log level objects
187
+ *
188
+ */
189
+ static importLogLevels(logLevels) {
190
+ if (OINOLog._instance) {
191
+ OINOLog._instance._logLevels = { "||": OINOLog._instance._defaultLogLevel }; // reset to default log level
192
+ for (const logLevel of logLevels) {
193
+ const domain = logLevel.domain || "";
194
+ const channel = logLevel.channel || "";
195
+ const method = logLevel.method || "";
196
+ const level = logLevel.level;
197
+ if (level && OINOLogLevel[level]) {
198
+ OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = level;
199
+ }
200
+ }
201
+ }
202
+ }
157
203
  }
158
204
  /**
159
205
  * Logging implementation based on console.log.
@@ -20,6 +20,7 @@ export declare enum OINOLogLevel {
20
20
  export declare abstract class OINOLog {
21
21
  protected static _instance: OINOLog;
22
22
  protected _logLevels: Record<string, OINOLogLevel>;
23
+ protected _defaultLogLevel: OINOLogLevel;
23
24
  /**
24
25
  * Abstract logging method to implement the actual logging operation.
25
26
  *
@@ -127,6 +128,18 @@ export declare abstract class OINOLog {
127
128
  *
128
129
  */
129
130
  static debug(domain: string, channel: string, method: string, message: string, data?: any): void;
131
+ /**
132
+ * Get current log levels as an array of objects with domain, channel, method and level.
133
+ *
134
+ */
135
+ static exportLogLevels(): any[];
136
+ /**
137
+ * Import log levels from an array of objects with domain, channel, method and level.
138
+ *
139
+ * @param logLevels array of log level objects
140
+ *
141
+ */
142
+ static importLogLevels(logLevels: any[]): void;
130
143
  }
131
144
  /**
132
145
  * Logging implementation based on console.log.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oino-ts/common",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "OINO TS package for common classes.",
5
5
  "author": "Matias Kiviniemi (pragmatta)",
6
6
  "license": "MPL-2.0",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  },
21
21
  "devDependencies": {
22
- "@oino-ts/types": "0.8.0"
22
+ "@oino-ts/types": "0.8.2"
23
23
  },
24
24
  "files": [
25
25
  "src/*.ts",
package/src/OINOLog.ts CHANGED
@@ -28,7 +28,8 @@ export enum OINOLogLevel {
28
28
  export abstract class OINOLog {
29
29
  protected static _instance:OINOLog
30
30
 
31
- protected _logLevels:Record<string, OINOLogLevel> = { "*|*|*": OINOLogLevel.warning }
31
+ protected _logLevels:Record<string, OINOLogLevel> = { "||": OINOLogLevel.warning }
32
+ protected _defaultLogLevel:OINOLogLevel = OINOLogLevel.warning
32
33
 
33
34
  /**
34
35
  * Abstract logging method to implement the actual logging operation.
@@ -38,7 +39,8 @@ export abstract class OINOLog {
38
39
  */
39
40
  constructor (logLevel:OINOLogLevel = OINOLogLevel.warning) {
40
41
  // console.log("OINOLog.constructor: logLevel=" + logLevel)
41
- this._logLevels["*|*|*"] = logLevel
42
+ this._logLevels["||"] = logLevel
43
+ this._defaultLogLevel = logLevel
42
44
  }
43
45
 
44
46
 
@@ -68,9 +70,11 @@ export abstract class OINOLog {
68
70
  const log_levels = OINOLog._instance!._logLevels
69
71
  // console.log(log_levels)
70
72
  const min_level = log_levels[domain + "|" + channel + "|" + method] ||
71
- log_levels[domain + "|" + channel + "|*"] ||
72
- log_levels[domain + "|*|*"] ||
73
- log_levels["*|*|*"]
73
+ log_levels[domain + "||" + method] ||
74
+ log_levels[domain + "|" + channel + "|"] ||
75
+ log_levels["|" + channel + "|"] ||
76
+ log_levels[domain + "||"] ||
77
+ log_levels["||"]
74
78
  // console.log("_log: level=" + level + ", min_level=" + min_level + ", levelStr=" + levelStr + ", message=" + message, data)
75
79
  if ((OINOLog._instance) && (level >= min_level)) {
76
80
  OINOLog._instance?._writeLog(levelStr, domain, channel, method, message, data)
@@ -105,7 +109,7 @@ export abstract class OINOLog {
105
109
  * @param method method of the log event (default: "*" for all)
106
110
  *
107
111
  */
108
- static setLogLevel(logLevel:OINOLogLevel, domain:string = "*", channel:string = "*", method:string = "*") {
112
+ static setLogLevel(logLevel:OINOLogLevel, domain:string = "", channel:string = "", method:string = "") {
109
113
  if (OINOLog._instance) {
110
114
  OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = logLevel
111
115
  }
@@ -180,6 +184,51 @@ export abstract class OINOLog {
180
184
  static debug(domain:string, channel:string, method:string, message:string, data?:any) {
181
185
  OINOLog._log(OINOLogLevel.debug, "DEBUG", domain, channel, method, message, data)
182
186
  }
187
+
188
+ /**
189
+ * Get current log levels as an array of objects with domain, channel, method and level.
190
+ *
191
+ */
192
+ static exportLogLevels():any[] {
193
+ let result:any = []
194
+ if (OINOLog._instance) {
195
+ for (const key in OINOLog._instance._logLevels) {
196
+ const level = OINOLog._instance._logLevels[key]
197
+ if (level) {
198
+ const parts = key.split("|")
199
+ result.push({
200
+ domain: parts[0],
201
+ channel: parts[1],
202
+ method: parts[2],
203
+ level: level
204
+ })
205
+ }
206
+ }
207
+ }
208
+ return result
209
+ }
210
+
211
+
212
+ /**
213
+ * Import log levels from an array of objects with domain, channel, method and level.
214
+ *
215
+ * @param logLevels array of log level objects
216
+ *
217
+ */
218
+ static importLogLevels(logLevels:any[]):void {
219
+ if (OINOLog._instance) {
220
+ OINOLog._instance._logLevels = {"||": OINOLog._instance._defaultLogLevel} // reset to default log level
221
+ for (const logLevel of logLevels) {
222
+ const domain = logLevel.domain || ""
223
+ const channel = logLevel.channel || ""
224
+ const method = logLevel.method || ""
225
+ const level = logLevel.level
226
+ if (level && OINOLogLevel[level]) {
227
+ OINOLog._instance._logLevels[domain + "|" + channel + "|" + method] = level
228
+ }
229
+ }
230
+ }
231
+ }
183
232
  }
184
233
 
185
234
  /**