@dxos/log 0.8.4-main.ead640a → 0.8.4-main.ef1bc66f44
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/dist/lib/browser/chunk-GPOFUMLO.mjs +133 -0
- package/dist/lib/browser/chunk-GPOFUMLO.mjs.map +7 -0
- package/dist/lib/browser/chunk-IEP6GGEX.mjs +23 -0
- package/dist/lib/browser/chunk-IEP6GGEX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +151 -201
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/platform/browser/index.mjs +26 -0
- package/dist/lib/browser/platform/browser/index.mjs.map +7 -0
- package/dist/lib/browser/platform/node/index.mjs +21 -0
- package/dist/lib/browser/platform/node/index.mjs.map +7 -0
- package/dist/lib/browser/processors/console-processor.mjs +107 -0
- package/dist/lib/browser/processors/console-processor.mjs.map +7 -0
- package/dist/lib/browser/processors/console-stub.mjs +9 -0
- package/dist/lib/browser/processors/console-stub.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
- package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QPYJZ4SO.mjs +135 -0
- package/dist/lib/node-esm/chunk-QPYJZ4SO.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +146 -283
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/platform/browser/index.mjs +27 -0
- package/dist/lib/node-esm/platform/browser/index.mjs.map +7 -0
- package/dist/lib/node-esm/platform/node/index.mjs +22 -0
- package/dist/lib/node-esm/platform/node/index.mjs.map +7 -0
- package/dist/lib/node-esm/processors/console-processor.mjs +108 -0
- package/dist/lib/node-esm/processors/console-processor.mjs.map +7 -0
- package/dist/lib/node-esm/processors/console-stub.mjs +10 -0
- package/dist/lib/node-esm/processors/console-stub.mjs.map +7 -0
- package/dist/types/src/config.d.ts.map +1 -1
- package/dist/types/src/context.d.ts.map +1 -1
- package/dist/types/src/dbg.d.ts +23 -0
- package/dist/types/src/dbg.d.ts.map +1 -0
- package/dist/types/src/decorators.d.ts +1 -1
- package/dist/types/src/decorators.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/log.d.ts +12 -18
- package/dist/types/src/log.d.ts.map +1 -1
- package/dist/types/src/options.d.ts +1 -6
- package/dist/types/src/options.d.ts.map +1 -1
- package/dist/types/src/platform/index.d.ts +1 -1
- package/dist/types/src/platform/index.d.ts.map +1 -1
- package/dist/types/src/processors/file-processor.d.ts.map +1 -1
- package/dist/types/src/processors/index.d.ts +3 -3
- package/dist/types/src/processors/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -9
- package/src/config.ts +1 -0
- package/src/context.ts +36 -5
- package/src/dbg.ts +35 -0
- package/src/decorators.ts +3 -3
- package/src/index.ts +1 -0
- package/src/log.test.ts +48 -18
- package/src/log.ts +101 -57
- package/src/options.ts +26 -10
- package/src/platform/index.ts +1 -1
- package/src/processors/file-processor.ts +2 -0
- package/src/processors/index.ts +3 -3
|
@@ -1,104 +1,48 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
LogLevel,
|
|
4
|
+
LogProcessorType,
|
|
5
|
+
gatherLogInfoFromScope,
|
|
6
|
+
getContextFromEntry,
|
|
7
|
+
getRelativeFilename,
|
|
8
|
+
levels,
|
|
9
|
+
logInfo,
|
|
10
|
+
shortLevelName,
|
|
11
|
+
shouldLog
|
|
12
|
+
} from "./chunk-QPYJZ4SO.mjs";
|
|
13
|
+
import {
|
|
14
|
+
__export,
|
|
15
|
+
__reExport
|
|
16
|
+
} from "./chunk-2SZHAWBN.mjs";
|
|
2
17
|
|
|
3
18
|
// src/index.ts
|
|
19
|
+
var index_exports = {};
|
|
20
|
+
__export(index_exports, {
|
|
21
|
+
BROWSER_PROCESSOR: () => BROWSER_PROCESSOR,
|
|
22
|
+
DEBUG_PROCESSOR: () => DEBUG_PROCESSOR,
|
|
23
|
+
FILE_PROCESSOR: () => FILE_PROCESSOR,
|
|
24
|
+
LogLevel: () => LogLevel,
|
|
25
|
+
LogProcessorType: () => LogProcessorType,
|
|
26
|
+
createFileProcessor: () => createFileProcessor,
|
|
27
|
+
createLog: () => createLog,
|
|
28
|
+
dbg: () => dbg,
|
|
29
|
+
debug: () => debug,
|
|
30
|
+
gatherLogInfoFromScope: () => gatherLogInfoFromScope,
|
|
31
|
+
getContextFromEntry: () => getContextFromEntry,
|
|
32
|
+
getCurrentOwnershipScope: () => getCurrentOwnershipScope,
|
|
33
|
+
getRelativeFilename: () => getRelativeFilename,
|
|
34
|
+
levels: () => levels,
|
|
35
|
+
log: () => log,
|
|
36
|
+
logInfo: () => logInfo,
|
|
37
|
+
omit: () => omit,
|
|
38
|
+
parseFilter: () => parseFilter,
|
|
39
|
+
pick: () => pick,
|
|
40
|
+
shortLevelName: () => shortLevelName,
|
|
41
|
+
shouldLog: () => shouldLog
|
|
42
|
+
});
|
|
4
43
|
import omit from "lodash.omit";
|
|
5
44
|
import { pick } from "@dxos/util";
|
|
6
45
|
|
|
7
|
-
// src/config.ts
|
|
8
|
-
var LogLevel = /* @__PURE__ */ (function(LogLevel2) {
|
|
9
|
-
LogLevel2[LogLevel2["TRACE"] = 5] = "TRACE";
|
|
10
|
-
LogLevel2[LogLevel2["DEBUG"] = 10] = "DEBUG";
|
|
11
|
-
LogLevel2[LogLevel2["VERBOSE"] = 11] = "VERBOSE";
|
|
12
|
-
LogLevel2[LogLevel2["INFO"] = 12] = "INFO";
|
|
13
|
-
LogLevel2[LogLevel2["WARN"] = 13] = "WARN";
|
|
14
|
-
LogLevel2[LogLevel2["ERROR"] = 14] = "ERROR";
|
|
15
|
-
return LogLevel2;
|
|
16
|
-
})({});
|
|
17
|
-
var levels = {
|
|
18
|
-
trace: 5,
|
|
19
|
-
debug: 10,
|
|
20
|
-
verbose: 11,
|
|
21
|
-
info: 12,
|
|
22
|
-
warn: 13,
|
|
23
|
-
error: 14
|
|
24
|
-
};
|
|
25
|
-
var shortLevelName = {
|
|
26
|
-
[5]: "T",
|
|
27
|
-
[10]: "D",
|
|
28
|
-
[11]: "V",
|
|
29
|
-
[12]: "I",
|
|
30
|
-
[13]: "W",
|
|
31
|
-
[14]: "E"
|
|
32
|
-
};
|
|
33
|
-
var LogProcessorType = /* @__PURE__ */ (function(LogProcessorType2) {
|
|
34
|
-
LogProcessorType2["CONSOLE"] = "console";
|
|
35
|
-
LogProcessorType2["BROWSER"] = "browser";
|
|
36
|
-
LogProcessorType2["DEBUG"] = "debug";
|
|
37
|
-
return LogProcessorType2;
|
|
38
|
-
})({});
|
|
39
|
-
|
|
40
|
-
// src/scope.ts
|
|
41
|
-
var logInfoProperties = Symbol("logInfoProperties");
|
|
42
|
-
var logInfo = (target, propertyKey, descriptor) => {
|
|
43
|
-
var _target, _logInfoProperties;
|
|
44
|
-
((_target = target)[_logInfoProperties = logInfoProperties] ?? (_target[_logInfoProperties] = [])).push(propertyKey);
|
|
45
|
-
};
|
|
46
|
-
var gatherLogInfoFromScope = (scope) => {
|
|
47
|
-
if (!scope) {
|
|
48
|
-
return {};
|
|
49
|
-
}
|
|
50
|
-
const res = {};
|
|
51
|
-
const prototype = Object.getPrototypeOf(scope);
|
|
52
|
-
const infoProps = (typeof prototype === "object" && prototype !== null ? prototype[logInfoProperties] : []) ?? [];
|
|
53
|
-
for (const prop of infoProps) {
|
|
54
|
-
try {
|
|
55
|
-
res[prop] = typeof scope[prop] === "function" ? scope[prop]() : scope[prop];
|
|
56
|
-
} catch (err) {
|
|
57
|
-
res[prop] = err.message;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return res;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// src/context.ts
|
|
64
|
-
var matchFilter = (filter, level, path) => {
|
|
65
|
-
return level >= filter.level && (!filter.pattern || path.includes(filter.pattern));
|
|
66
|
-
};
|
|
67
|
-
var shouldLog = (entry, filters) => {
|
|
68
|
-
if (filters === void 0) {
|
|
69
|
-
return true;
|
|
70
|
-
} else {
|
|
71
|
-
return filters.some((filter) => matchFilter(filter, entry.level, entry.meta?.F ?? ""));
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
var getContextFromEntry = (entry) => {
|
|
75
|
-
let context;
|
|
76
|
-
if (entry.meta) {
|
|
77
|
-
const scopeInfo = gatherLogInfoFromScope(entry.meta.S);
|
|
78
|
-
if (Object.keys(scopeInfo).length > 0) {
|
|
79
|
-
context = Object.assign(context ?? {}, scopeInfo);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const entryContext = typeof entry.context === "function" ? entry.context() : entry.context;
|
|
83
|
-
if (entryContext) {
|
|
84
|
-
if (entryContext instanceof Error) {
|
|
85
|
-
const c = entryContext.context;
|
|
86
|
-
context = Object.assign(context ?? {}, {
|
|
87
|
-
error: entryContext.stack,
|
|
88
|
-
...c
|
|
89
|
-
});
|
|
90
|
-
} else if (typeof entryContext === "object") {
|
|
91
|
-
context = Object.assign(context ?? {}, entryContext);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (entry.error) {
|
|
95
|
-
context = Object.assign(context ?? {}, {
|
|
96
|
-
error: entry.error
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
return context && Object.keys(context).length > 0 ? context : void 0;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
46
|
// src/decorators.ts
|
|
103
47
|
import { inspect } from "node:util";
|
|
104
48
|
import chalk from "chalk";
|
|
@@ -198,144 +142,33 @@ var logAsyncResolved = (log2, methodName, resolvedValue, promiseId, startTime, c
|
|
|
198
142
|
var logAsyncRejected = (log2, methodName, err, promiseId, startTime, combinedMeta) => {
|
|
199
143
|
log2.info(`.${formatFunction(methodName)} \u21B2 \u{1F525} ${chalk.gray("reject")} ${formatPromise(promiseId)} ${formatTimeElapsed(startTime)} ${chalk.gray("=>")} ${err}`, {}, combinedMeta);
|
|
200
144
|
};
|
|
201
|
-
var greenCheck = typeof chalk.green === "function" ? chalk.green("\u2714") : "\u2714";
|
|
202
|
-
var formatTimeElapsed = (startTime) => chalk.gray(`${(performance.now() - startTime).toFixed(0)}ms`);
|
|
203
145
|
var COLOR_FUNCTION = [
|
|
204
146
|
220,
|
|
205
147
|
220,
|
|
206
148
|
170
|
|
207
149
|
];
|
|
150
|
+
var greenCheck = typeof chalk.green === "function" ? chalk.green("\u2714") : "\u2714";
|
|
151
|
+
var formatTimeElapsed = (startTime) => chalk.gray(`${(performance.now() - startTime).toFixed(0)}ms`);
|
|
208
152
|
var formatFunction = (name) => chalk.bold(chalk.rgb(...COLOR_FUNCTION)(name));
|
|
209
153
|
var formatPromise = (id) => chalk.blue(`Promise#${id}`);
|
|
210
154
|
|
|
211
155
|
// src/options.ts
|
|
212
156
|
import defaultsDeep from "lodash.defaultsdeep";
|
|
213
157
|
|
|
214
|
-
// src/platform/
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (filepath) {
|
|
219
|
-
try {
|
|
220
|
-
const text = fs.readFileSync(filepath, "utf-8");
|
|
221
|
-
if (text) {
|
|
222
|
-
return yaml.load(text);
|
|
223
|
-
}
|
|
224
|
-
} catch (err) {
|
|
225
|
-
console.warn(`Invalid log file: ${filepath}`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
// src/processors/console-processor.ts
|
|
231
|
-
import { inspect as inspect2 } from "node:util";
|
|
232
|
-
import chalk2 from "chalk";
|
|
233
|
-
import { getPrototypeSpecificInstanceId, pickBy } from "@dxos/util";
|
|
234
|
-
|
|
235
|
-
// src/processors/common.ts
|
|
236
|
-
var getRelativeFilename = (filename) => {
|
|
237
|
-
const match = filename.match(/.+\/(packages\/.+\/.+)/);
|
|
238
|
-
if (match) {
|
|
239
|
-
const [, filePath] = match;
|
|
240
|
-
return filePath;
|
|
241
|
-
}
|
|
242
|
-
return filename;
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
// src/processors/console-processor.ts
|
|
246
|
-
var LEVEL_COLORS = {
|
|
247
|
-
[LogLevel.TRACE]: "gray",
|
|
248
|
-
[LogLevel.DEBUG]: "gray",
|
|
249
|
-
[LogLevel.VERBOSE]: "gray",
|
|
250
|
-
[LogLevel.INFO]: "white",
|
|
251
|
-
[LogLevel.WARN]: "yellow",
|
|
252
|
-
[LogLevel.ERROR]: "red"
|
|
253
|
-
};
|
|
254
|
-
var truncate = (text, length = 0, right = false) => {
|
|
255
|
-
const str = text && length ? right ? text.slice(-length) : text.substring(0, length) : text ?? "";
|
|
256
|
-
return right ? str.padStart(length, " ") : str.padEnd(length, " ");
|
|
257
|
-
};
|
|
258
|
-
var DEFAULT_FORMATTER = (config, { path, line, level, message, context, error, scope }) => {
|
|
259
|
-
const column = config.options?.formatter?.column;
|
|
260
|
-
const filepath = path !== void 0 && line !== void 0 ? chalk2.grey(`${path}:${line}`) : void 0;
|
|
261
|
-
let instance;
|
|
262
|
-
if (scope) {
|
|
263
|
-
const prototype = Object.getPrototypeOf(scope);
|
|
264
|
-
if (prototype !== null) {
|
|
265
|
-
const id = getPrototypeSpecificInstanceId(scope);
|
|
266
|
-
instance = chalk2.magentaBright(`${prototype.constructor.name}#${id}`);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
const formattedTimestamp = config.options?.formatter?.timestamp ? (/* @__PURE__ */ new Date()).toISOString() : void 0;
|
|
270
|
-
const formattedLevel = chalk2[LEVEL_COLORS[level]](column ? shortLevelName[level] : LogLevel[level]);
|
|
271
|
-
const padding = column && filepath ? "".padStart(column - filepath.length) : void 0;
|
|
272
|
-
return config.options?.formatter?.timestampFirst ? [
|
|
273
|
-
formattedTimestamp,
|
|
274
|
-
filepath,
|
|
275
|
-
padding,
|
|
276
|
-
formattedLevel,
|
|
277
|
-
instance,
|
|
278
|
-
message,
|
|
279
|
-
context,
|
|
280
|
-
error
|
|
281
|
-
] : [
|
|
282
|
-
// NOTE: File path must come fist for console hyperlinks.
|
|
283
|
-
// Must not truncate for terminal output.
|
|
284
|
-
filepath,
|
|
285
|
-
padding,
|
|
286
|
-
formattedTimestamp,
|
|
287
|
-
formattedLevel,
|
|
288
|
-
instance,
|
|
289
|
-
message,
|
|
290
|
-
context,
|
|
291
|
-
error
|
|
292
|
-
];
|
|
293
|
-
};
|
|
294
|
-
var SHORT_FORMATTER = (config, { path, level, message }) => {
|
|
295
|
-
return [
|
|
296
|
-
chalk2.grey(truncate(path, 16, true)),
|
|
297
|
-
chalk2[LEVEL_COLORS[level]](shortLevelName[level]),
|
|
298
|
-
message
|
|
299
|
-
];
|
|
300
|
-
};
|
|
301
|
-
var formatter = DEFAULT_FORMATTER;
|
|
302
|
-
var CONSOLE_PROCESSOR = (config, entry) => {
|
|
303
|
-
const { level, message, meta, error } = entry;
|
|
304
|
-
if (!shouldLog(entry, config.filters)) {
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
const parts = {
|
|
308
|
-
level,
|
|
309
|
-
message,
|
|
310
|
-
error,
|
|
311
|
-
path: void 0,
|
|
312
|
-
line: void 0,
|
|
313
|
-
scope: void 0,
|
|
314
|
-
context: void 0
|
|
315
|
-
};
|
|
316
|
-
if (meta) {
|
|
317
|
-
parts.path = getRelativeFilename(meta.F);
|
|
318
|
-
parts.line = meta.L;
|
|
319
|
-
parts.scope = meta.S;
|
|
320
|
-
}
|
|
321
|
-
const context = getContextFromEntry(entry);
|
|
322
|
-
if (context) {
|
|
323
|
-
parts.context = inspect2(pickBy(context, (value) => value !== void 0), {
|
|
324
|
-
depth: config.options.depth,
|
|
325
|
-
colors: true,
|
|
326
|
-
maxArrayLength: 8,
|
|
327
|
-
sorted: false
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
const line = formatter(config, parts).filter(Boolean).join(" ");
|
|
331
|
-
console.log(line);
|
|
332
|
-
};
|
|
158
|
+
// src/platform/index.ts
|
|
159
|
+
var platform_exports = {};
|
|
160
|
+
__reExport(platform_exports, platform_star);
|
|
161
|
+
import * as platform_star from "#platform";
|
|
333
162
|
|
|
334
|
-
// src/processors/
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
163
|
+
// src/processors/index.ts
|
|
164
|
+
var processors_exports = {};
|
|
165
|
+
__export(processors_exports, {
|
|
166
|
+
BROWSER_PROCESSOR: () => BROWSER_PROCESSOR,
|
|
167
|
+
DEBUG_PROCESSOR: () => DEBUG_PROCESSOR,
|
|
168
|
+
FILE_PROCESSOR: () => FILE_PROCESSOR,
|
|
169
|
+
createFileProcessor: () => createFileProcessor,
|
|
170
|
+
getRelativeFilename: () => getRelativeFilename
|
|
171
|
+
});
|
|
339
172
|
|
|
340
173
|
// src/processors/browser-processor.ts
|
|
341
174
|
import { getDebugName, safariCheck } from "@dxos/util";
|
|
@@ -444,6 +277,16 @@ var TEST_BROWSER_PROCESSOR = (config, entry) => {
|
|
|
444
277
|
};
|
|
445
278
|
var BROWSER_PROCESSOR = CONFIG.useTestProcessor ? TEST_BROWSER_PROCESSOR : APP_BROWSER_PROCESSOR;
|
|
446
279
|
|
|
280
|
+
// src/processors/index.ts
|
|
281
|
+
__reExport(processors_exports, console_processor_star);
|
|
282
|
+
import * as console_processor_star from "#console-processor";
|
|
283
|
+
|
|
284
|
+
// src/processors/debug-processor.ts
|
|
285
|
+
import { inspect as inspect2 } from "node:util";
|
|
286
|
+
var DEBUG_PROCESSOR = (config, entry) => {
|
|
287
|
+
console.log(inspect2(entry, false, null, true));
|
|
288
|
+
};
|
|
289
|
+
|
|
447
290
|
// src/processors/file-processor.ts
|
|
448
291
|
import { appendFileSync, mkdirSync, openSync } from "node:fs";
|
|
449
292
|
import { dirname } from "node:path";
|
|
@@ -500,7 +343,7 @@ var createFileProcessor = ({ pathOrFd, levels: levels2, filters }) => {
|
|
|
500
343
|
};
|
|
501
344
|
var logFilePath;
|
|
502
345
|
var getLogFilePath = () => {
|
|
503
|
-
logFilePath
|
|
346
|
+
logFilePath ??= process.env.LOG_FILE ?? (process.env.HOME ? `${process.env.HOME}/.dxlog/${(/* @__PURE__ */ new Date()).toISOString()}.log` : void 0);
|
|
504
347
|
return logFilePath;
|
|
505
348
|
};
|
|
506
349
|
var FILE_PROCESSOR = createFileProcessor({
|
|
@@ -515,14 +358,15 @@ var FILE_PROCESSOR = createFileProcessor({
|
|
|
515
358
|
|
|
516
359
|
// src/options.ts
|
|
517
360
|
var processors = {
|
|
518
|
-
[LogProcessorType.CONSOLE]: CONSOLE_PROCESSOR,
|
|
361
|
+
[LogProcessorType.CONSOLE]: processors_exports.CONSOLE_PROCESSOR,
|
|
519
362
|
[LogProcessorType.BROWSER]: BROWSER_PROCESSOR,
|
|
520
363
|
[LogProcessorType.DEBUG]: DEBUG_PROCESSOR
|
|
521
364
|
};
|
|
522
|
-
var
|
|
365
|
+
var browser = (typeof window !== "undefined" || typeof navigator !== "undefined") && !(typeof process !== "undefined" && process?.env?.VITEST);
|
|
523
366
|
var DEFAULT_PROCESSORS = [
|
|
524
|
-
|
|
367
|
+
browser ? BROWSER_PROCESSOR : processors_exports.CONSOLE_PROCESSOR
|
|
525
368
|
];
|
|
369
|
+
var parseLogLevel = (level, defValue = LogLevel.WARN) => levels[level.toLowerCase()] ?? defValue;
|
|
526
370
|
var parseFilter = (filter) => {
|
|
527
371
|
if (typeof filter === "number") {
|
|
528
372
|
return [
|
|
@@ -531,7 +375,6 @@ var parseFilter = (filter) => {
|
|
|
531
375
|
}
|
|
532
376
|
];
|
|
533
377
|
}
|
|
534
|
-
const parseLogLevel = (level, defValue = LogLevel.WARN) => levels[level.toLowerCase()] ?? defValue;
|
|
535
378
|
const lines = typeof filter === "string" ? filter.split(/,\s*/) : filter;
|
|
536
379
|
return lines.map((filter2) => {
|
|
537
380
|
const [pattern, level] = filter2.split(":");
|
|
@@ -543,55 +386,37 @@ var parseFilter = (filter) => {
|
|
|
543
386
|
};
|
|
544
387
|
});
|
|
545
388
|
};
|
|
546
|
-
var
|
|
547
|
-
const
|
|
389
|
+
var createConfig = (options) => {
|
|
390
|
+
const envOptions = "process" in globalThis ? {
|
|
548
391
|
file: process.env.LOG_CONFIG,
|
|
549
392
|
filter: process.env.LOG_FILTER,
|
|
550
393
|
processor: process.env.LOG_PROCESSOR
|
|
551
394
|
} : void 0;
|
|
552
|
-
const mergedOptions = defaultsDeep({}, loadOptions(
|
|
395
|
+
const mergedOptions = defaultsDeep({}, (0, platform_exports.loadOptions)(envOptions?.file), envOptions, options);
|
|
553
396
|
return {
|
|
554
397
|
options: mergedOptions,
|
|
555
398
|
filters: parseFilter(mergedOptions.filter ?? LogLevel.INFO),
|
|
556
399
|
captureFilters: parseFilter(mergedOptions.captureFilter ?? LogLevel.WARN),
|
|
557
400
|
processors: mergedOptions.processor ? [
|
|
558
401
|
processors[mergedOptions.processor]
|
|
559
|
-
] :
|
|
402
|
+
] : [
|
|
403
|
+
...DEFAULT_PROCESSORS
|
|
404
|
+
],
|
|
560
405
|
prefix: mergedOptions.prefix
|
|
561
406
|
};
|
|
562
407
|
};
|
|
563
408
|
|
|
564
409
|
// src/log.ts
|
|
565
|
-
var
|
|
410
|
+
var logCount = 0;
|
|
566
411
|
var createLog = () => {
|
|
567
412
|
const log2 = (...params) => processLog(LogLevel.DEBUG, ...params);
|
|
568
|
-
log2
|
|
413
|
+
Object.assign(log2, {
|
|
414
|
+
_id: `log-${++logCount}`,
|
|
415
|
+
_config: createConfig()
|
|
416
|
+
});
|
|
569
417
|
Object.defineProperty(log2, "runtimeConfig", {
|
|
570
418
|
get: () => log2._config
|
|
571
419
|
});
|
|
572
|
-
log2.addProcessor = (processor) => {
|
|
573
|
-
if (DEFAULT_PROCESSORS.filter((p) => p === processor).length === 0) {
|
|
574
|
-
DEFAULT_PROCESSORS.push(processor);
|
|
575
|
-
}
|
|
576
|
-
if (log2._config.processors.filter((p) => p === processor).length === 0) {
|
|
577
|
-
log2._config.processors.push(processor);
|
|
578
|
-
}
|
|
579
|
-
};
|
|
580
|
-
log2.config = (options) => {
|
|
581
|
-
log2._config = getConfig(options);
|
|
582
|
-
};
|
|
583
|
-
log2.trace = (...params) => processLog(LogLevel.TRACE, ...params);
|
|
584
|
-
log2.debug = (...params) => processLog(LogLevel.DEBUG, ...params);
|
|
585
|
-
log2.verbose = (...params) => processLog(LogLevel.VERBOSE, ...params);
|
|
586
|
-
log2.info = (...params) => processLog(LogLevel.INFO, ...params);
|
|
587
|
-
log2.warn = (...params) => processLog(LogLevel.WARN, ...params);
|
|
588
|
-
log2.error = (...params) => processLog(LogLevel.ERROR, ...params);
|
|
589
|
-
log2.catch = (error, context, meta) => processLog(LogLevel.ERROR, void 0, context, meta, error);
|
|
590
|
-
log2.break = () => log2.info("\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014");
|
|
591
|
-
log2.stack = (message, context, meta) => processLog(LogLevel.INFO, `${message ?? "Stack Dump"}
|
|
592
|
-
${getFormattedStackTrace()}`, context, meta);
|
|
593
|
-
log2.method = createMethodLogDecorator(log2);
|
|
594
|
-
log2.func = createFunctionLogDecorator(log2);
|
|
595
420
|
const processLog = (level, message, context = {}, meta, error) => {
|
|
596
421
|
log2._config.processors.forEach((processor) => processor(log2._config, {
|
|
597
422
|
level,
|
|
@@ -601,9 +426,50 @@ ${getFormattedStackTrace()}`, context, meta);
|
|
|
601
426
|
error
|
|
602
427
|
}));
|
|
603
428
|
};
|
|
429
|
+
Object.assign(log2, {
|
|
430
|
+
/**
|
|
431
|
+
* Update config.
|
|
432
|
+
* NOTE: Preserves any processors that were already added to this logger instance
|
|
433
|
+
* unless an explicit processor option is provided.
|
|
434
|
+
*/
|
|
435
|
+
config: ({ processor, ...options }) => {
|
|
436
|
+
const config = createConfig(options);
|
|
437
|
+
const processors2 = processor ? config.processors : log2._config.processors;
|
|
438
|
+
log2._config = {
|
|
439
|
+
...config,
|
|
440
|
+
processors: processors2
|
|
441
|
+
};
|
|
442
|
+
return log2;
|
|
443
|
+
},
|
|
444
|
+
/**
|
|
445
|
+
* Adds a processor to the logger.
|
|
446
|
+
*/
|
|
447
|
+
addProcessor: (processor) => {
|
|
448
|
+
if (log2._config.processors.filter((p) => p === processor).length === 0) {
|
|
449
|
+
log2._config.processors.push(processor);
|
|
450
|
+
}
|
|
451
|
+
return () => {
|
|
452
|
+
log2._config.processors = log2._config.processors.filter((p) => p !== processor);
|
|
453
|
+
};
|
|
454
|
+
},
|
|
455
|
+
trace: (...params) => processLog(LogLevel.TRACE, ...params),
|
|
456
|
+
debug: (...params) => processLog(LogLevel.DEBUG, ...params),
|
|
457
|
+
verbose: (...params) => processLog(LogLevel.VERBOSE, ...params),
|
|
458
|
+
info: (...params) => processLog(LogLevel.INFO, ...params),
|
|
459
|
+
warn: (...params) => processLog(LogLevel.WARN, ...params),
|
|
460
|
+
error: (...params) => processLog(LogLevel.ERROR, ...params),
|
|
461
|
+
catch: (error, context, meta) => processLog(LogLevel.ERROR, void 0, context, meta, error),
|
|
462
|
+
method: createMethodLogDecorator(log2),
|
|
463
|
+
function: createFunctionLogDecorator(log2),
|
|
464
|
+
break: () => log2.info("-".repeat(80)),
|
|
465
|
+
stack: (message, context, meta) => {
|
|
466
|
+
return processLog(LogLevel.INFO, `${message ?? "Stack Dump"}
|
|
467
|
+
${getFormattedStackTrace()}`, context, meta);
|
|
468
|
+
}
|
|
469
|
+
});
|
|
604
470
|
return log2;
|
|
605
471
|
};
|
|
606
|
-
var log =
|
|
472
|
+
var log = globalThis.DX_LOG ??= createLog();
|
|
607
473
|
var start = Date.now();
|
|
608
474
|
var last = start;
|
|
609
475
|
var debug = (label, args) => {
|
|
@@ -620,26 +486,32 @@ var debug = (label, args) => {
|
|
|
620
486
|
};
|
|
621
487
|
var getFormattedStackTrace = () => new Error().stack.split("\n").slice(3).join("\n");
|
|
622
488
|
|
|
623
|
-
// src/
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
configurable: true,
|
|
631
|
-
writable: true
|
|
632
|
-
});
|
|
489
|
+
// src/index.ts
|
|
490
|
+
__reExport(index_exports, processors_exports);
|
|
491
|
+
|
|
492
|
+
// src/dbg.ts
|
|
493
|
+
var dbg = (arg, meta) => {
|
|
494
|
+
if (meta?.A) {
|
|
495
|
+
console.log(`${meta.A[0]} =`, arg);
|
|
633
496
|
} else {
|
|
634
|
-
|
|
497
|
+
console.log(arg);
|
|
635
498
|
}
|
|
636
|
-
return
|
|
637
|
-
}
|
|
499
|
+
return arg;
|
|
500
|
+
};
|
|
501
|
+
|
|
502
|
+
// src/experimental/ownership.ts
|
|
503
|
+
import { inspect as inspect3 } from "node:util";
|
|
638
504
|
var kOwnershipScope = Symbol("kOwnershipScope");
|
|
639
505
|
var kCurrentOwnershipScope = Symbol("kCurrentOwnershipScope");
|
|
640
506
|
var kDebugInfoProperties = Symbol("kDebugInfoProperties");
|
|
641
|
-
var _inspect_custom = inspect4.custom;
|
|
642
507
|
var OwnershipScope = class {
|
|
508
|
+
constr;
|
|
509
|
+
parent;
|
|
510
|
+
instance;
|
|
511
|
+
constructor(constr, parent) {
|
|
512
|
+
this.constr = constr;
|
|
513
|
+
this.parent = parent;
|
|
514
|
+
}
|
|
643
515
|
getInfo() {
|
|
644
516
|
if (!this.instance) {
|
|
645
517
|
return {};
|
|
@@ -651,32 +523,24 @@ var OwnershipScope = class {
|
|
|
651
523
|
}
|
|
652
524
|
return info;
|
|
653
525
|
}
|
|
654
|
-
[
|
|
526
|
+
[inspect3.custom]() {
|
|
655
527
|
return {
|
|
656
528
|
className: this.constr.name,
|
|
657
529
|
info: this.getInfo(),
|
|
658
530
|
parent: this.parent
|
|
659
531
|
};
|
|
660
532
|
}
|
|
661
|
-
constructor(constr, parent) {
|
|
662
|
-
_define_property(this, "constr", void 0);
|
|
663
|
-
_define_property(this, "parent", void 0);
|
|
664
|
-
_define_property(this, "instance", void 0);
|
|
665
|
-
this.constr = constr;
|
|
666
|
-
this.parent = parent;
|
|
667
|
-
}
|
|
668
533
|
};
|
|
669
534
|
var getCurrentOwnershipScope = (thisRef) => thisRef;
|
|
670
535
|
export {
|
|
671
536
|
BROWSER_PROCESSOR,
|
|
672
|
-
CONSOLE_PROCESSOR,
|
|
673
537
|
DEBUG_PROCESSOR,
|
|
674
|
-
DEFAULT_FORMATTER,
|
|
675
538
|
FILE_PROCESSOR,
|
|
676
539
|
LogLevel,
|
|
677
540
|
LogProcessorType,
|
|
678
|
-
SHORT_FORMATTER,
|
|
679
541
|
createFileProcessor,
|
|
542
|
+
createLog,
|
|
543
|
+
dbg,
|
|
680
544
|
debug,
|
|
681
545
|
gatherLogInfoFromScope,
|
|
682
546
|
getContextFromEntry,
|
|
@@ -689,7 +553,6 @@ export {
|
|
|
689
553
|
parseFilter,
|
|
690
554
|
pick,
|
|
691
555
|
shortLevelName,
|
|
692
|
-
shouldLog
|
|
693
|
-
truncate
|
|
556
|
+
shouldLog
|
|
694
557
|
};
|
|
695
558
|
//# sourceMappingURL=index.mjs.map
|