@dxos/log 0.1.56-main.f3d4052 → 0.1.56-next.71eb10c
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/index.mjs +37 -73
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +56 -83
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/types/src/config.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/options.d.ts +1 -1
- package/dist/types/src/options.d.ts.map +1 -1
- package/dist/types/src/processors/console-processor.d.ts +1 -0
- package/dist/types/src/processors/console-processor.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/config.ts +1 -0
- package/src/index.ts +6 -1
- package/src/options.ts +18 -16
- package/src/platform/node/index.ts +1 -1
- package/src/processors/console-processor.ts +22 -2
- package/dist/types/src/invariant.d.ts +0 -12
- package/dist/types/src/invariant.d.ts.map +0 -1
- package/src/invariant.ts +0 -46
package/dist/lib/node/index.cjs
CHANGED
|
@@ -35,7 +35,6 @@ __export(src_exports, {
|
|
|
35
35
|
DEBUG_PROCESSOR: () => DEBUG_PROCESSOR,
|
|
36
36
|
DEFAULT_FORMATTER: () => DEFAULT_FORMATTER,
|
|
37
37
|
FILE_PROCESSOR: () => FILE_PROCESSOR,
|
|
38
|
-
InvariantViolation: () => InvariantViolation,
|
|
39
38
|
LogLevel: () => LogLevel,
|
|
40
39
|
LogProcessorType: () => LogProcessorType,
|
|
41
40
|
SHORT_FORMATTER: () => SHORT_FORMATTER,
|
|
@@ -43,16 +42,19 @@ __export(src_exports, {
|
|
|
43
42
|
gatherLogInfoFromScope: () => gatherLogInfoFromScope,
|
|
44
43
|
getContextFromEntry: () => getContextFromEntry,
|
|
45
44
|
getCurrentOwnershipScope: () => getCurrentOwnershipScope,
|
|
46
|
-
invariant: () => invariant,
|
|
47
45
|
levels: () => levels,
|
|
48
46
|
log: () => log,
|
|
49
47
|
logInfo: () => logInfo,
|
|
48
|
+
omit: () => import_lodash3.default,
|
|
50
49
|
parseFilter: () => parseFilter,
|
|
50
|
+
pick: () => import_lodash4.default,
|
|
51
51
|
shortLevelName: () => shortLevelName,
|
|
52
52
|
shouldLog: () => shouldLog,
|
|
53
53
|
truncate: () => truncate
|
|
54
54
|
});
|
|
55
55
|
module.exports = __toCommonJS(src_exports);
|
|
56
|
+
var import_lodash3 = __toESM(require("lodash.omit"));
|
|
57
|
+
var import_lodash4 = __toESM(require("lodash.pick"));
|
|
56
58
|
|
|
57
59
|
// packages/common/log/src/config.ts
|
|
58
60
|
var LogLevel;
|
|
@@ -87,17 +89,15 @@ var LogProcessorType;
|
|
|
87
89
|
// packages/common/log/src/scope.ts
|
|
88
90
|
var logInfoProperties = Symbol("logInfoProperties");
|
|
89
91
|
var logInfo = (target, propertyKey, descriptor) => {
|
|
90
|
-
|
|
91
|
-
((_a2 = target[logInfoProperties]) != null ? _a2 : target[logInfoProperties] = []).push(propertyKey);
|
|
92
|
+
(target[logInfoProperties] ??= []).push(propertyKey);
|
|
92
93
|
};
|
|
93
94
|
var gatherLogInfoFromScope = (scope) => {
|
|
94
|
-
var _a2;
|
|
95
95
|
if (!scope) {
|
|
96
96
|
return {};
|
|
97
97
|
}
|
|
98
98
|
const res = {};
|
|
99
99
|
const prototype = Object.getPrototypeOf(scope);
|
|
100
|
-
const infoProps =
|
|
100
|
+
const infoProps = prototype[logInfoProperties] ?? [];
|
|
101
101
|
for (const prop of infoProps) {
|
|
102
102
|
try {
|
|
103
103
|
res[prop] = typeof scope[prop] === "function" ? scope[prop]() : scope[prop];
|
|
@@ -116,10 +116,7 @@ var shouldLog = (entry, filters) => {
|
|
|
116
116
|
if (filters === void 0) {
|
|
117
117
|
return true;
|
|
118
118
|
} else {
|
|
119
|
-
return filters.some((filter) =>
|
|
120
|
-
var _a2, _b;
|
|
121
|
-
return matchFilter(filter, entry.level, (_b = (_a2 = entry.meta) == null ? void 0 : _a2.F) != null ? _b : "");
|
|
122
|
-
});
|
|
119
|
+
return filters.some((filter) => matchFilter(filter, entry.level, entry.meta?.F ?? ""));
|
|
123
120
|
}
|
|
124
121
|
};
|
|
125
122
|
var getContextFromEntry = (entry) => {
|
|
@@ -127,18 +124,18 @@ var getContextFromEntry = (entry) => {
|
|
|
127
124
|
if (entry.meta) {
|
|
128
125
|
const scopeInfo = gatherLogInfoFromScope(entry.meta.S);
|
|
129
126
|
if (Object.keys(scopeInfo).length > 0) {
|
|
130
|
-
context = Object.assign(context
|
|
127
|
+
context = Object.assign(context ?? {}, scopeInfo);
|
|
131
128
|
}
|
|
132
129
|
}
|
|
133
130
|
if (entry.context) {
|
|
134
131
|
if (entry.context instanceof Error) {
|
|
135
132
|
const c = entry.context.context;
|
|
136
|
-
context = Object.assign(context
|
|
133
|
+
context = Object.assign(context ?? {}, {
|
|
137
134
|
error: entry.context.stack,
|
|
138
135
|
...c
|
|
139
136
|
});
|
|
140
137
|
} else if (typeof entry.context === "object") {
|
|
141
|
-
context = Object.assign(context
|
|
138
|
+
context = Object.assign(context ?? {}, entry.context);
|
|
142
139
|
}
|
|
143
140
|
}
|
|
144
141
|
return context && Object.keys(context).length > 0 ? context : void 0;
|
|
@@ -154,7 +151,6 @@ var import_node_path = __toESM(require("node:path"));
|
|
|
154
151
|
var loadOptions = (filepath) => {
|
|
155
152
|
if (filepath) {
|
|
156
153
|
const fullpath = import_node_path.default.join(process.cwd(), filepath);
|
|
157
|
-
console.log(`Log file: ${fullpath}`);
|
|
158
154
|
try {
|
|
159
155
|
const text = import_node_fs.default.readFileSync(fullpath, "utf-8");
|
|
160
156
|
if (text) {
|
|
@@ -170,6 +166,7 @@ var loadOptions = (filepath) => {
|
|
|
170
166
|
var import_chalk = __toESM(require("chalk"));
|
|
171
167
|
var import_lodash = __toESM(require("lodash.pickby"));
|
|
172
168
|
var import_node_util = require("node:util");
|
|
169
|
+
var import_util = require("@dxos/util");
|
|
173
170
|
var LEVEL_COLORS = {
|
|
174
171
|
[LogLevel.TRACE]: "gray",
|
|
175
172
|
[LogLevel.DEBUG]: "gray",
|
|
@@ -178,7 +175,7 @@ var LEVEL_COLORS = {
|
|
|
178
175
|
[LogLevel.ERROR]: "red"
|
|
179
176
|
};
|
|
180
177
|
var truncate = (text, length = 0, right = false) => {
|
|
181
|
-
const str = text && length ? right ? text.slice(-length) : text.substring(0, length) : text
|
|
178
|
+
const str = text && length ? right ? text.slice(-length) : text.substring(0, length) : text ?? "";
|
|
182
179
|
return right ? str.padStart(length, " ") : str.padEnd(length, " ");
|
|
183
180
|
};
|
|
184
181
|
var getRelativeFilename = (filename) => {
|
|
@@ -189,16 +186,22 @@ var getRelativeFilename = (filename) => {
|
|
|
189
186
|
}
|
|
190
187
|
return filename;
|
|
191
188
|
};
|
|
192
|
-
var DEFAULT_FORMATTER = (config, { path: path2, line, level, message, context, error }) => {
|
|
193
|
-
|
|
194
|
-
const column = (_b = (_a2 = config.options) == null ? void 0 : _a2.formatter) == null ? void 0 : _b.column;
|
|
189
|
+
var DEFAULT_FORMATTER = (config, { path: path2, line, level, message, context, error, scope }) => {
|
|
190
|
+
const column = config.options?.formatter?.column;
|
|
195
191
|
const filepath = path2 !== void 0 && line !== void 0 ? import_chalk.default.grey(`${path2}:${line}`) : void 0;
|
|
192
|
+
let instance;
|
|
193
|
+
if (scope) {
|
|
194
|
+
const prototype = Object.getPrototypeOf(scope);
|
|
195
|
+
const id = (0, import_util.getPrototypeSpecificInstanceId)(scope);
|
|
196
|
+
instance = import_chalk.default.magentaBright(`${prototype.constructor.name}#${id}`);
|
|
197
|
+
}
|
|
196
198
|
return [
|
|
197
199
|
// NOTE: File path must come fist for console hyperlinks.
|
|
198
200
|
// Must not truncate for terminal output.
|
|
199
201
|
filepath,
|
|
200
202
|
column && filepath ? "".padStart(column - filepath.length) : void 0,
|
|
201
203
|
import_chalk.default[LEVEL_COLORS[level]](column ? shortLevelName[level] : LogLevel[level]),
|
|
204
|
+
instance,
|
|
202
205
|
message,
|
|
203
206
|
context,
|
|
204
207
|
error
|
|
@@ -218,11 +221,16 @@ var CONSOLE_PROCESSOR = (config, entry) => {
|
|
|
218
221
|
const parts = {
|
|
219
222
|
level,
|
|
220
223
|
message,
|
|
221
|
-
error
|
|
224
|
+
error,
|
|
225
|
+
path: void 0,
|
|
226
|
+
line: void 0,
|
|
227
|
+
scope: void 0,
|
|
228
|
+
context: void 0
|
|
222
229
|
};
|
|
223
230
|
if (meta) {
|
|
224
231
|
parts.path = getRelativeFilename(meta.F);
|
|
225
232
|
parts.line = meta.L;
|
|
233
|
+
parts.scope = meta.S;
|
|
226
234
|
}
|
|
227
235
|
const context = getContextFromEntry(entry);
|
|
228
236
|
if (context) {
|
|
@@ -260,11 +268,10 @@ var CONFIG = typeof mochaExecutor !== "undefined" ? {
|
|
|
260
268
|
printFileLinks: false
|
|
261
269
|
};
|
|
262
270
|
var APP_BROWSER_PROCESSOR = (config, entry) => {
|
|
263
|
-
var _a2, _b, _c;
|
|
264
271
|
if (!shouldLog(entry, config.filters)) {
|
|
265
272
|
return;
|
|
266
273
|
}
|
|
267
|
-
const LOG_BROWSER_PREFIX =
|
|
274
|
+
const LOG_BROWSER_PREFIX = config.prefix ?? "https://vscode.dev/github.com/dxos/dxos/blob/main/";
|
|
268
275
|
const LOG_BROWSER_CSS = [];
|
|
269
276
|
let link = "";
|
|
270
277
|
if (entry.meta) {
|
|
@@ -284,7 +291,7 @@ var APP_BROWSER_PROCESSOR = (config, entry) => {
|
|
|
284
291
|
[LogLevel.DEBUG]: console.log
|
|
285
292
|
};
|
|
286
293
|
if (CONFIG.printFileLinks) {
|
|
287
|
-
if (LOG_BROWSER_CSS
|
|
294
|
+
if (LOG_BROWSER_CSS?.length) {
|
|
288
295
|
args = [
|
|
289
296
|
`%c${link}
|
|
290
297
|
%c${args.join(" ")}`,
|
|
@@ -297,15 +304,14 @@ var APP_BROWSER_PROCESSOR = (config, entry) => {
|
|
|
297
304
|
];
|
|
298
305
|
}
|
|
299
306
|
}
|
|
300
|
-
const level =
|
|
301
|
-
if (typeof
|
|
307
|
+
const level = levels2[entry.level] ?? console.log;
|
|
308
|
+
if (typeof entry.meta?.C === "function") {
|
|
302
309
|
entry.meta.C(level, args);
|
|
303
310
|
} else {
|
|
304
311
|
level(...args);
|
|
305
312
|
}
|
|
306
313
|
};
|
|
307
314
|
var TEST_BROWSER_PROCESSOR = (config, entry) => {
|
|
308
|
-
var _a2, _b;
|
|
309
315
|
if (!shouldLog(entry, config.filters)) {
|
|
310
316
|
return;
|
|
311
317
|
}
|
|
@@ -330,8 +336,8 @@ var TEST_BROWSER_PROCESSOR = (config, entry) => {
|
|
|
330
336
|
...args
|
|
331
337
|
];
|
|
332
338
|
}
|
|
333
|
-
const level =
|
|
334
|
-
if (typeof
|
|
339
|
+
const level = levels2[entry.level] ?? console.log;
|
|
340
|
+
if (typeof entry.meta?.C === "function") {
|
|
335
341
|
entry.meta.C(level, args);
|
|
336
342
|
} else {
|
|
337
343
|
level(...args);
|
|
@@ -342,18 +348,17 @@ var BROWSER_PROCESSOR = CONFIG.useTestProcessor ? TEST_BROWSER_PROCESSOR : APP_B
|
|
|
342
348
|
// packages/common/log/src/processors/file-processor.ts
|
|
343
349
|
var import_node_fs2 = require("node:fs");
|
|
344
350
|
var import_node_path2 = require("node:path");
|
|
345
|
-
var
|
|
351
|
+
var import_util2 = require("@dxos/util");
|
|
346
352
|
var createFileProcessor = ({ path: path2, levels: levels2 }) => {
|
|
347
353
|
let fd;
|
|
348
354
|
return (config, entry) => {
|
|
349
|
-
var _a2, _b;
|
|
350
355
|
if (!levels2.includes(entry.level)) {
|
|
351
356
|
return;
|
|
352
357
|
}
|
|
353
358
|
if (!fd) {
|
|
354
359
|
try {
|
|
355
360
|
(0, import_node_fs2.mkdirSync)((0, import_node_path2.dirname)(path2));
|
|
356
|
-
} catch
|
|
361
|
+
} catch {
|
|
357
362
|
}
|
|
358
363
|
fd = (0, import_node_fs2.openSync)(path2, "w");
|
|
359
364
|
}
|
|
@@ -361,18 +366,17 @@ var createFileProcessor = ({ path: path2, levels: levels2 }) => {
|
|
|
361
366
|
...entry,
|
|
362
367
|
timestamp: Date.now(),
|
|
363
368
|
meta: {
|
|
364
|
-
file:
|
|
365
|
-
line:
|
|
369
|
+
file: entry.meta?.F,
|
|
370
|
+
line: entry.meta?.L
|
|
366
371
|
},
|
|
367
|
-
context: (0,
|
|
372
|
+
context: (0, import_util2.jsonify)(getContextFromEntry(entry))
|
|
368
373
|
};
|
|
369
374
|
(0, import_node_fs2.appendFileSync)(fd, JSON.stringify(record) + "\n");
|
|
370
375
|
};
|
|
371
376
|
};
|
|
372
377
|
var logFilePath;
|
|
373
378
|
var getLogFilePath = () => {
|
|
374
|
-
|
|
375
|
-
logFilePath != null ? logFilePath : logFilePath = (_a2 = process.env.LOG_FILE) != null ? _a2 : process.env.HOME ? `${process.env.HOME}/.dxlog/${new Date().toISOString()}.log` : void 0;
|
|
379
|
+
logFilePath ??= process.env.LOG_FILE ?? (process.env.HOME ? `${process.env.HOME}/.dxlog/${(/* @__PURE__ */ new Date()).toISOString()}.log` : void 0);
|
|
376
380
|
return logFilePath;
|
|
377
381
|
};
|
|
378
382
|
var FILE_PROCESSOR = createFileProcessor({
|
|
@@ -403,10 +407,7 @@ var parseFilter = (filter) => {
|
|
|
403
407
|
}
|
|
404
408
|
];
|
|
405
409
|
}
|
|
406
|
-
const parseLogLevel = (level, defValue = LogLevel.WARN) =>
|
|
407
|
-
var _a2;
|
|
408
|
-
return (_a2 = levels[level.toLowerCase()]) != null ? _a2 : defValue;
|
|
409
|
-
};
|
|
410
|
+
const parseLogLevel = (level, defValue = LogLevel.WARN) => levels[level.toLowerCase()] ?? defValue;
|
|
410
411
|
const lines = typeof filter === "string" ? filter.split(/,\s*/) : filter;
|
|
411
412
|
return lines.map((filter2) => {
|
|
412
413
|
const [pattern, level] = filter2.split(":");
|
|
@@ -418,22 +419,20 @@ var parseFilter = (filter) => {
|
|
|
418
419
|
};
|
|
419
420
|
});
|
|
420
421
|
};
|
|
421
|
-
var getConfig = (
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
});
|
|
429
|
-
options = (0, import_lodash2.default)({}, loadOptions(options.file), options);
|
|
422
|
+
var getConfig = (options) => {
|
|
423
|
+
const nodeOptions = "process" in globalThis ? {
|
|
424
|
+
file: process.env.LOG_CONFIG,
|
|
425
|
+
filter: process.env.LOG_FILTER,
|
|
426
|
+
processor: process.env.LOG_PROCESSOR
|
|
427
|
+
} : void 0;
|
|
428
|
+
const mergedOptions = (0, import_lodash2.default)({}, options, nodeOptions && loadOptions(nodeOptions.file), nodeOptions);
|
|
430
429
|
return {
|
|
431
|
-
options,
|
|
432
|
-
filters: parseFilter(
|
|
433
|
-
processors:
|
|
434
|
-
processors[
|
|
430
|
+
options: mergedOptions,
|
|
431
|
+
filters: parseFilter(mergedOptions.filter ?? LogLevel.INFO),
|
|
432
|
+
processors: mergedOptions.processor ? [
|
|
433
|
+
processors[mergedOptions.processor]
|
|
435
434
|
] : DEFAULT_PROCESSORS,
|
|
436
|
-
prefix:
|
|
435
|
+
prefix: mergedOptions.prefix
|
|
437
436
|
};
|
|
438
437
|
};
|
|
439
438
|
|
|
@@ -473,32 +472,7 @@ var createLog = () => {
|
|
|
473
472
|
};
|
|
474
473
|
return log2;
|
|
475
474
|
};
|
|
476
|
-
var
|
|
477
|
-
var log = (_a = globalThis.dx_log) != null ? _a : globalThis.dx_log = createLog();
|
|
478
|
-
|
|
479
|
-
// packages/common/log/src/invariant.ts
|
|
480
|
-
var invariant = (condition, message, meta) => {
|
|
481
|
-
if (condition) {
|
|
482
|
-
return;
|
|
483
|
-
}
|
|
484
|
-
let errorMessage = "invariant violation";
|
|
485
|
-
if (message) {
|
|
486
|
-
errorMessage += `: ${message}`;
|
|
487
|
-
}
|
|
488
|
-
if (meta == null ? void 0 : meta.A) {
|
|
489
|
-
errorMessage += ` [${meta.A[0]}]`;
|
|
490
|
-
}
|
|
491
|
-
if (meta == null ? void 0 : meta.F) {
|
|
492
|
-
errorMessage += ` at ${meta.F}:${meta.L}`;
|
|
493
|
-
}
|
|
494
|
-
throw new InvariantViolation(errorMessage);
|
|
495
|
-
};
|
|
496
|
-
var InvariantViolation = class extends Error {
|
|
497
|
-
constructor(message) {
|
|
498
|
-
super(message);
|
|
499
|
-
Object.setPrototypeOf(this, new.target.prototype);
|
|
500
|
-
}
|
|
501
|
-
};
|
|
475
|
+
var log = globalThis.dx_log ??= createLog();
|
|
502
476
|
|
|
503
477
|
// packages/common/log/src/experimental/ownership.ts
|
|
504
478
|
var import_node_util3 = require("node:util");
|
|
@@ -511,11 +485,10 @@ var OwnershipScope = class {
|
|
|
511
485
|
this.parent = parent;
|
|
512
486
|
}
|
|
513
487
|
getInfo() {
|
|
514
|
-
var _a2;
|
|
515
488
|
if (!this.instance) {
|
|
516
489
|
return {};
|
|
517
490
|
}
|
|
518
|
-
const props =
|
|
491
|
+
const props = this.constr.prototype[kDebugInfoProperties] ?? [];
|
|
519
492
|
const info = {};
|
|
520
493
|
for (const prop of props) {
|
|
521
494
|
info[prop] = this.instance[prop];
|
|
@@ -538,7 +511,6 @@ var getCurrentOwnershipScope = (thisRef) => thisRef;
|
|
|
538
511
|
DEBUG_PROCESSOR,
|
|
539
512
|
DEFAULT_FORMATTER,
|
|
540
513
|
FILE_PROCESSOR,
|
|
541
|
-
InvariantViolation,
|
|
542
514
|
LogLevel,
|
|
543
515
|
LogProcessorType,
|
|
544
516
|
SHORT_FORMATTER,
|
|
@@ -546,11 +518,12 @@ var getCurrentOwnershipScope = (thisRef) => thisRef;
|
|
|
546
518
|
gatherLogInfoFromScope,
|
|
547
519
|
getContextFromEntry,
|
|
548
520
|
getCurrentOwnershipScope,
|
|
549
|
-
invariant,
|
|
550
521
|
levels,
|
|
551
522
|
log,
|
|
552
523
|
logInfo,
|
|
524
|
+
omit,
|
|
553
525
|
parseFilter,
|
|
526
|
+
pick,
|
|
554
527
|
shortLevelName,
|
|
555
528
|
shouldLog,
|
|
556
529
|
truncate
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/index.ts", "../../../src/config.ts", "../../../src/scope.ts", "../../../src/context.ts", "../../../src/options.ts", "../../../src/platform/node/index.ts", "../../../src/processors/console-processor.ts", "../../../src/processors/debug-processor.ts", "../../../src/processors/browser-processor.ts", "../../../src/processors/file-processor.ts", "../../../src/log.ts", "../../../src/
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nexport * from './config';\nexport * from './context';\nexport * from './log';\nexport { parseFilter } from './options';\nexport * from './processors';\nexport * from './scope';\nexport * from './invariant';\nexport * from './meta';\n\nexport { getCurrentOwnershipScope } from './experimental/ownership';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogProcessor } from './context';\n\n/**\n * Standard levels.\n */\n// NOTE: Keep aligned with LogLevel in @dxos/protocols.\nexport enum LogLevel {\n TRACE = 5,\n DEBUG = 10,\n INFO = 11,\n WARN = 12,\n ERROR = 13,\n}\n\nexport const levels: { [index: string]: LogLevel } = {\n trace: LogLevel.TRACE,\n debug: LogLevel.DEBUG,\n info: LogLevel.INFO,\n warn: LogLevel.WARN,\n error: LogLevel.ERROR,\n};\n\nexport const shortLevelName = {\n [LogLevel.TRACE]: 'T',\n [LogLevel.DEBUG]: 'D',\n [LogLevel.INFO]: 'I',\n [LogLevel.WARN]: 'W',\n [LogLevel.ERROR]: 'E',\n};\n\nexport enum LogProcessorType {\n CONSOLE = 'console',\n BROWSER = 'browser',\n DEBUG = 'debug',\n}\n\n/**\n * Individual filter condition.\n */\nexport type LogFilter = {\n level: LogLevel;\n pattern?: string;\n};\n\n/**\n * Options to set inline or load from the YML file.\n */\nexport type LogOptions = {\n file?: string;\n filter?: string | string[] | LogLevel;\n depth?: number; // Context object depth.\n processor?: string | LogProcessorType;\n formatter?: {\n column: number;\n };\n prefix?: string;\n};\n\n/**\n * Runtime config.\n */\nexport interface LogConfig {\n options: LogOptions;\n filters?: LogFilter[];\n processors: LogProcessor[];\n prefix?: string;\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nconst logInfoProperties = Symbol('logInfoProperties');\n\n/**\n * Decorate fields, properties, or methods to automatically include their values in log messages.\n *\n * Example:\n *\n * ```typescript\n * class Example {\n * @logInfo\n * peerId: PublicKey;\n * }\n * ```\n */\nexport const logInfo = (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n // console.log(target, propertyKey, descriptor);\n (target[logInfoProperties] ??= []).push(propertyKey);\n};\n\n/**\n * Introspects class instance to find decorated metadata.\n * @param scope Class instance.\n */\nexport const gatherLogInfoFromScope = (scope: any): Record<string, any> => {\n if (!scope) {\n return {};\n }\n\n const res: Record<string, any> = {};\n\n const prototype = Object.getPrototypeOf(scope);\n const infoProps = prototype[logInfoProperties] ?? [];\n for (const prop of infoProps) {\n try {\n res[prop] = typeof scope[prop] === 'function' ? scope[prop]() : scope[prop];\n } catch (err: any) {\n res[prop] = err.message;\n }\n }\n\n return res;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogConfig, LogFilter, LogLevel } from './config';\nimport { CallMetadata } from './meta';\nimport { gatherLogInfoFromScope } from './scope';\n\n/**\n * Optional object passed to the logging API.\n */\nexport type LogContext = Record<string, any> | Error | any;\n\n/**\n * Record for current log line.\n */\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n context?: LogContext;\n meta?: CallMetadata;\n error?: Error;\n}\n\n/**\n * Processes (e.g., prints, forwards) log entries.\n */\nexport type LogProcessor = (config: LogConfig, entry: LogEntry) => void;\n\nconst matchFilter = (filter: LogFilter, level: LogLevel, path: string) => {\n return level >= filter.level && (!filter.pattern || path.includes(filter.pattern));\n};\n\n/**\n * Determines if the current line should be logged (called by the processor).\n */\nexport const shouldLog = (entry: LogEntry, filters?: LogFilter[]): boolean => {\n if (filters === undefined) {\n return true;\n } else {\n return filters.some((filter) => matchFilter(filter, entry.level, entry.meta?.F ?? ''));\n }\n};\n\nexport const getContextFromEntry = (entry: LogEntry): Record<string, any> | undefined => {\n let context;\n if (entry.meta) {\n const scopeInfo = gatherLogInfoFromScope(entry.meta.S);\n if (Object.keys(scopeInfo).length > 0) {\n context = Object.assign(context ?? {}, scopeInfo);\n }\n }\n\n if (entry.context) {\n if (entry.context instanceof Error) {\n // Additional context from Error.\n const c = (entry.context as any).context;\n // If ERROR then show stacktrace.\n context = Object.assign(context ?? {}, { error: entry.context.stack, ...c });\n } else if (typeof entry.context === 'object') {\n context = Object.assign(context ?? {}, entry.context);\n }\n }\n\n return context && Object.keys(context).length > 0 ? context : undefined;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport defaultsDeep from 'lodash.defaultsdeep';\n\nimport { LogConfig, LogFilter, LogLevel, LogOptions, LogProcessorType, levels } from './config';\nimport { LogProcessor } from './context';\nimport { loadOptions } from './platform';\nimport { CONSOLE_PROCESSOR, DEBUG_PROCESSOR, BROWSER_PROCESSOR } from './processors';\n\n/**\n * Processor variants.\n */\nexport const processors: { [index: string]: LogProcessor } = {\n [LogProcessorType.CONSOLE]: CONSOLE_PROCESSOR,\n [LogProcessorType.BROWSER]: BROWSER_PROCESSOR,\n [LogProcessorType.DEBUG]: DEBUG_PROCESSOR,\n};\n\nconst IS_BROWSER = typeof window !== 'undefined' || typeof navigator !== 'undefined';\n\nexport const DEFAULT_PROCESSORS = [IS_BROWSER ? BROWSER_PROCESSOR : CONSOLE_PROCESSOR];\n\nexport const parseFilter = (filter: string | string[] | LogLevel): LogFilter[] => {\n if (typeof filter === 'number') {\n return [{ level: filter }];\n }\n\n const parseLogLevel = (level: string, defValue = LogLevel.WARN) => levels[level.toLowerCase()] ?? defValue;\n\n const lines = typeof filter === 'string' ? filter.split(/,\\s*/) : filter;\n return lines.map((filter) => {\n const [pattern, level] = filter.split(':');\n return level ? { level: parseLogLevel(level), pattern } : { level: parseLogLevel(pattern) };\n });\n};\n\nexport const getConfig = (_options?: LogOptions): LogConfig => {\n let options: LogOptions = defaultsDeep(\n {},\n _options,\n 'process' in globalThis && {\n // TODO(burdon): Node only.\n file: process!.env?.LOG_CONFIG,\n filter: process!.env?.LOG_FILTER,\n processor: process!.env?.LOG_PROCESSOR,\n },\n );\n\n // TODO(burdon): Verbose option.\n // console.log(JSON.stringify(options, undefined, 2));\n options = defaultsDeep({}, loadOptions(options.file), options);\n return {\n options,\n filters: parseFilter(options.filter ?? LogLevel.INFO),\n processors: options.processor ? [processors[options.processor]] : DEFAULT_PROCESSORS,\n prefix: options.prefix,\n };\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport yaml from 'js-yaml';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport { LogOptions } from '../../config';\n\n/**\n * Node config loader.\n */\nexport const loadOptions = (filepath?: string): LogOptions | undefined => {\n if (filepath) {\n const fullpath = path.join(process.cwd(), filepath);\n console.log(`Log file: ${fullpath}`);\n try {\n const text = fs.readFileSync(fullpath, 'utf-8');\n if (text) {\n return yaml.load(text) as LogOptions;\n }\n } catch (err) {\n console.warn(`Invalid log file: ${fullpath}`);\n }\n }\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport chalk from 'chalk';\nimport pickBy from 'lodash.pickby';\nimport { inspect } from 'node:util';\n\nimport { LogConfig, LogLevel, shortLevelName } from '../config';\nimport { getContextFromEntry, LogProcessor, shouldLog } from '../context';\n\nconst LEVEL_COLORS: Record<LogLevel, typeof chalk.ForegroundColor> = {\n [LogLevel.TRACE]: 'gray',\n [LogLevel.DEBUG]: 'gray',\n [LogLevel.INFO]: 'white',\n [LogLevel.WARN]: 'yellow',\n [LogLevel.ERROR]: 'red',\n};\n\nexport const truncate = (text?: string, length = 0, right = false) => {\n const str = text && length ? (right ? text.slice(-length) : text.substring(0, length)) : text ?? '';\n return right ? str.padStart(length, ' ') : str.padEnd(length, ' ');\n};\n\nconst getRelativeFilename = (filename: string) => {\n // TODO(burdon): Hack uses \"packages\" as an anchor (pre-parse NX?)\n // Including `packages/` part of the path so that excluded paths (e.g. from dist) are clickable in vscode.\n const match = filename.match(/.+\\/(packages\\/.+\\/.+)/);\n if (match) {\n const [, filePath] = match;\n return filePath;\n }\n\n return filename;\n};\n\n// TODO(burdon): Optional timestamp.\n// TODO(burdon): Optional package name.\n// TODO(burdon): Show exceptions on one line.\nexport type FormatParts = {\n path?: string;\n line?: number;\n level: LogLevel;\n message: string;\n context?: any;\n error?: Error;\n};\n\nexport type Formatter = (config: LogConfig, parts: FormatParts) => (string | undefined)[];\n\nexport const DEFAULT_FORMATTER: Formatter = (config, { path, line, level, message, context, error }) => {\n const column = config.options?.formatter?.column;\n\n const filepath = path !== undefined && line !== undefined ? chalk.grey(`${path}:${line}`) : undefined;\n\n return [\n // NOTE: File path must come fist for console hyperlinks.\n // Must not truncate for terminal output.\n filepath,\n column && filepath ? ''.padStart(column - filepath.length) : undefined,\n chalk[LEVEL_COLORS[level]](column ? shortLevelName[level] : LogLevel[level]),\n message,\n context,\n error,\n ];\n};\n\nexport const SHORT_FORMATTER: Formatter = (config, { path, level, message }) => [\n chalk.grey(truncate(path, 16, true)), // NOTE: Breaks terminal linking.\n chalk[LEVEL_COLORS[level]](shortLevelName[level]),\n message,\n];\n\n// TODO(burdon): Config option.\nconst formatter = DEFAULT_FORMATTER;\n\nexport const CONSOLE_PROCESSOR: LogProcessor = (config, entry) => {\n const { level, message, meta, error } = entry;\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n const parts: FormatParts = { level, message, error };\n\n if (meta) {\n parts.path = getRelativeFilename(meta.F);\n parts.line = meta.L;\n }\n\n const context = getContextFromEntry(entry);\n if (context) {\n // Remove undefined fields.\n // https://nodejs.org/api/util.html#utilinspectobject-options\n parts.context = inspect(\n pickBy(context, (value?: unknown) => value !== undefined),\n { depth: config.options.depth, colors: true, maxArrayLength: 8, sorted: false },\n );\n }\n\n const line = formatter(config, parts).filter(Boolean).join(' ');\n console.log(line);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { inspect } from 'node:util';\n\nimport { LogProcessor } from '../context';\n\nexport const DEBUG_PROCESSOR: LogProcessor = (config, entry) => {\n console.log(inspect(entry, false, null, true));\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogLevel } from '../config';\nimport { getContextFromEntry, LogProcessor, shouldLog } from '../context';\n\nconst getRelativeFilename = (filename: string) => {\n // TODO(burdon): Hack uses \"packages\" as an anchor (pre-parse NX?)\n // Including `packages/` part of the path so that excluded paths (e.g. from dist) are clickable in vscode.\n const match = filename.match(/.+\\/(packages\\/.+\\/.+)/);\n if (match) {\n const [, filePath] = match;\n return filePath;\n }\n\n return filename;\n};\n\ntype Config = {\n useTestProcessor: boolean;\n printFileLinks: boolean;\n};\n\nconst CONFIG: Config =\n typeof mochaExecutor !== 'undefined'\n ? {\n useTestProcessor: true,\n printFileLinks: true,\n }\n : {\n useTestProcessor: false,\n printFileLinks: false,\n };\n\n/**\n * For running apps in the browser normally.\n */\nconst APP_BROWSER_PROCESSOR: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n // Example local editor prefix: 'vscode://file/Users/burdon/Code/dxos/dxos/'.\n const LOG_BROWSER_PREFIX = config.prefix ?? 'https://vscode.dev/github.com/dxos/dxos/blob/main/';\n\n // TODO(burdon): CSS breaks formatting (e.g., [Object] rather than expandable property).\n // TODO(burdon): Consider custom formatters.\n // https://www.mattzeunert.com/2016/02/19/custom-chrome-devtools-object-formatters.html\n // NOTE: Cannot change color of link (from bright white).\n // const LOG_BROWSER_CSS = ['color:gray; font-size:10px; padding-bottom: 4px', 'color:#B97852; font-size:14px;'];\n const LOG_BROWSER_CSS: string[] = [];\n\n let link = '';\n if (entry.meta) {\n const filename = getRelativeFilename(entry.meta.F);\n const filepath = `${LOG_BROWSER_PREFIX.replace(/\\/$/, '')}/${filename}`;\n // TODO(burdon): Line numbers not working for app link, even with colons.\n // https://stackoverflow.com/a/54459820/2804332\n link = `${filepath}#L${entry.meta.L}`;\n }\n\n let args = [];\n args.push(entry.message);\n\n const context = getContextFromEntry(entry);\n if (context) {\n args.push(context);\n }\n\n const levels: any = {\n [LogLevel.ERROR]: console.error,\n [LogLevel.WARN]: console.warn,\n [LogLevel.DEBUG]: console.log,\n };\n\n if (CONFIG.printFileLinks) {\n if (LOG_BROWSER_CSS?.length) {\n args = [`%c${link}\\n%c${args.join(' ')}`, ...LOG_BROWSER_CSS];\n } else {\n args = [link + '\\n', ...args];\n }\n }\n\n const level = levels[entry.level] ?? console.log;\n if (typeof entry.meta?.C === 'function') {\n entry.meta.C(level, args);\n } else {\n level(...args);\n }\n};\n\n/**\n * For running unit tests in the headless browser.\n */\nconst TEST_BROWSER_PROCESSOR: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n let path = '';\n if (entry.meta) {\n path = `${getRelativeFilename(entry.meta.F)}:${entry.meta.L}`;\n }\n\n let args = [];\n args.push(entry.message);\n\n const context = getContextFromEntry(entry);\n if (context) {\n args.push(context);\n }\n\n const levels: any = {\n [LogLevel.ERROR]: console.error,\n [LogLevel.WARN]: console.warn,\n [LogLevel.DEBUG]: console.log,\n };\n\n if (CONFIG.printFileLinks) {\n args = [path, ...args];\n }\n\n const level = levels[entry.level] ?? console.log;\n if (typeof entry.meta?.C === 'function') {\n entry.meta.C(level, args);\n } else {\n level(...args);\n }\n};\n\nexport const BROWSER_PROCESSOR: LogProcessor = CONFIG.useTestProcessor ? TEST_BROWSER_PROCESSOR : APP_BROWSER_PROCESSOR;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { appendFileSync, mkdirSync, openSync } from 'node:fs';\nimport { dirname } from 'node:path';\n\nimport { jsonify } from '@dxos/util';\n\nimport { LogLevel } from '../config';\nimport { LogProcessor, getContextFromEntry } from '../context';\n\nexport const createFileProcessor = ({ path, levels }: { path: string; levels: LogLevel[] }): LogProcessor => {\n let fd: number | undefined;\n\n return (config, entry) => {\n if (!levels.includes(entry.level)) {\n return;\n }\n if (!fd) {\n try {\n mkdirSync(dirname(path));\n } catch {}\n fd = openSync(path, 'w');\n }\n\n const record = {\n ...entry,\n timestamp: Date.now(),\n meta: {\n file: entry.meta?.F,\n line: entry.meta?.L,\n },\n context: jsonify(getContextFromEntry(entry)),\n };\n appendFileSync(fd, JSON.stringify(record) + '\\n');\n };\n};\n\nlet logFilePath: string | undefined;\nconst getLogFilePath = () => {\n logFilePath ??=\n process.env.LOG_FILE ??\n (process.env.HOME ? `${process.env.HOME}/.dxlog/${new Date().toISOString()}.log` : undefined);\n\n return logFilePath!;\n};\n\nexport const FILE_PROCESSOR: LogProcessor = createFileProcessor({\n path: getLogFilePath(),\n levels: [LogLevel.ERROR, LogLevel.WARN, LogLevel.INFO, LogLevel.TRACE],\n});\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogConfig, LogLevel, LogOptions } from './config';\nimport { LogContext, LogProcessor } from './context';\nimport { CallMetadata } from './meta';\nimport { getConfig, DEFAULT_PROCESSORS } from './options';\n\n/**\n * Logging function.\n */\ntype LogFunction = (message: string, context?: LogContext, meta?: CallMetadata) => void;\n\n/**\n * Logging methods.\n */\ninterface LogMethods {\n trace: LogFunction;\n debug: LogFunction;\n info: LogFunction;\n warn: LogFunction;\n error: LogFunction;\n catch: (error: Error | any, context?: LogContext, meta?: CallMetadata) => void;\n break: () => void;\n}\n\n/**\n * Properties accessible on the logging function.\n */\ninterface Log extends LogMethods, LogFunction {\n config: (options: LogOptions) => void;\n addProcessor: (processor: LogProcessor) => void;\n runtimeConfig: LogConfig;\n}\n\ninterface LogImp extends Log {\n _config: LogConfig;\n}\n\nconst createLog = (): LogImp => {\n const log: LogImp = ((...params) => processLog(LogLevel.DEBUG, ...params)) as LogImp;\n\n log._config = getConfig();\n Object.defineProperty(log, 'runtimeConfig', { get: () => log._config });\n\n log.addProcessor = (processor: LogProcessor) => {\n if (DEFAULT_PROCESSORS.filter((p) => p === processor).length === 0) {\n DEFAULT_PROCESSORS.push(processor);\n }\n if (log._config.processors.filter((p) => p === processor).length === 0) {\n log._config.processors.push(processor);\n }\n };\n\n // Set config.\n log.config = (options: LogOptions) => {\n log._config = getConfig(options);\n };\n\n // TODO(burdon): API to set context and separate error object.\n // E.g., log.warn('failed', { key: 123 }, err);\n\n log.trace = (...params) => processLog(LogLevel.TRACE, ...params);\n log.debug = (...params) => processLog(LogLevel.DEBUG, ...params);\n log.info = (...params) => processLog(LogLevel.INFO, ...params);\n log.warn = (...params) => processLog(LogLevel.WARN, ...params);\n log.error = (...params) => processLog(LogLevel.ERROR, ...params);\n\n // Catch only shows error message, not stacktrace.\n log.catch = (error: Error | any, context, meta) => processLog(LogLevel.ERROR, error.stack, context, meta);\n\n // Show break.\n log.break = () => log.info('——————————————————————————————————————————————————');\n\n /**\n * Process the current log call.\n */\n const processLog = (\n level: LogLevel,\n message: string,\n context: LogContext = {},\n meta?: CallMetadata,\n error?: Error,\n ) => {\n log._config.processors.forEach((processor) => processor(log._config, { level, message, context, meta, error }));\n };\n\n return log;\n};\n\n/**\n * Global logging function.\n */\nexport const log: Log = ((globalThis as any).dx_log ??= createLog());\n\n/**\n * Accessible from browser console.\n */\ndeclare global {\n // eslint-disable-next-line camelcase\n const dx_log: Log;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CallMetadata } from './meta';\n\nexport type InvariantFn = (condition: unknown, message?: string, meta?: CallMetadata) => asserts condition;\n\n/**\n * Asserts that the condition is true.\n *\n * @param message Optional message.\n */\nexport const invariant: InvariantFn = (\n condition: unknown,\n message?: string,\n meta?: CallMetadata,\n): asserts condition => {\n if (condition) {\n return;\n }\n\n let errorMessage = 'invariant violation';\n\n if (message) {\n errorMessage += `: ${message}`;\n }\n\n if (meta?.A) {\n errorMessage += ` [${meta.A[0]}]`;\n }\n\n if (meta?.F) {\n errorMessage += ` at ${meta.F}:${meta.L}`;\n }\n\n throw new InvariantViolation(errorMessage);\n};\n\nexport class InvariantViolation extends Error {\n constructor(message: string) {\n super(message);\n // NOTE: Restores prototype chain (https://stackoverflow.com/a/48342359).\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { inspect } from 'node:util';\n\nconst kOwnershipScope = Symbol('kOwnershipScope');\nconst kCurrentOwnershipScope = Symbol('kCurrentOwnershipScope');\nconst kDebugInfoProperties = Symbol('kDebugInfoProperties');\n\n/**\n *\n */\n// TODO(burdon): Document.\nexport class OwnershipScope {\n public instance: any;\n\n constructor(public constr: any, public parent?: OwnershipScope) {}\n\n getInfo() {\n if (!this.instance) {\n return {};\n }\n const props = this.constr.prototype[kDebugInfoProperties] ?? [];\n const info: any = {};\n for (const prop of props) {\n info[prop] = this.instance[prop];\n }\n return info;\n }\n\n [inspect.custom]() {\n return {\n className: this.constr.name,\n info: this.getInfo(),\n parent: this.parent,\n };\n }\n}\n\nfunction decorateMethodWeakReturnOwnership(prototype: any, key: string) {\n const original = prototype[key];\n prototype[key] = function (...args: any) {\n const res = original.apply(this, ...args);\n\n if (res && typeof res.then === 'function') {\n res.then((value: any) => {\n if (kOwnershipScope in value) {\n value[kOwnershipScope].parent ??= this[kOwnershipScope];\n }\n });\n } else {\n if (res && kOwnershipScope in res) {\n res[kOwnershipScope].parent ??= this[kOwnershipScope];\n }\n }\n\n return res;\n };\n}\n\nexport function ownershipClass<T extends { new (...args: any[]): {} }>(constr: T) {\n for (const key of Object.getOwnPropertyNames(constr.prototype)) {\n if (key !== 'constructor' && typeof constr.prototype[key] === 'function') {\n decorateMethodWeakReturnOwnership(constr.prototype, key);\n }\n }\n\n return class extends constr {\n constructor(...args: any[]) {\n const currentCausality = (globalThis as any)[kCurrentOwnershipScope];\n (globalThis as any)[kCurrentOwnershipScope] = new OwnershipScope(constr, currentCausality);\n super(...args);\n (this as any)[kOwnershipScope] = (globalThis as any)[kCurrentOwnershipScope];\n (this as any)[kOwnershipScope].instance = this;\n (globalThis as any)[kCurrentOwnershipScope] = currentCausality;\n }\n };\n}\n\nexport const debugInfo = (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n // console.log(target, propertyKey, descriptor);\n (target[kDebugInfoProperties] ??= []).push(propertyKey);\n};\n\nexport const getCurrentOwnershipScope = (thisRef: any) => thisRef;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["LogLevel", "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "levels", "trace", "debug", "info", "warn", "error", "shortLevelName", "LogProcessorType", "CONSOLE", "BROWSER", "logInfoProperties", "Symbol", "logInfo", "target", "propertyKey", "descriptor", "
|
|
3
|
+
"sources": ["../../../src/index.ts", "../../../src/config.ts", "../../../src/scope.ts", "../../../src/context.ts", "../../../src/options.ts", "../../../src/platform/node/index.ts", "../../../src/processors/console-processor.ts", "../../../src/processors/debug-processor.ts", "../../../src/processors/browser-processor.ts", "../../../src/processors/file-processor.ts", "../../../src/log.ts", "../../../src/experimental/ownership.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\n// Message helpers.\nimport omit from 'lodash.omit';\nimport pick from 'lodash.pick';\n\nexport { omit, pick };\n\nexport * from './config';\nexport * from './context';\nexport * from './log';\nexport { parseFilter } from './options';\nexport * from './processors';\nexport * from './scope';\nexport * from './meta';\n\nexport { getCurrentOwnershipScope } from './experimental/ownership';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogProcessor } from './context';\n\n/**\n * Standard levels.\n */\n// NOTE: Keep aligned with LogLevel in @dxos/protocols.\n// TODO(burdon): Update numbers?\nexport enum LogLevel {\n TRACE = 5,\n DEBUG = 10,\n INFO = 11,\n WARN = 12,\n ERROR = 13,\n}\n\nexport const levels: { [index: string]: LogLevel } = {\n trace: LogLevel.TRACE,\n debug: LogLevel.DEBUG,\n info: LogLevel.INFO,\n warn: LogLevel.WARN,\n error: LogLevel.ERROR,\n};\n\nexport const shortLevelName = {\n [LogLevel.TRACE]: 'T',\n [LogLevel.DEBUG]: 'D',\n [LogLevel.INFO]: 'I',\n [LogLevel.WARN]: 'W',\n [LogLevel.ERROR]: 'E',\n};\n\nexport enum LogProcessorType {\n CONSOLE = 'console',\n BROWSER = 'browser',\n DEBUG = 'debug',\n}\n\n/**\n * Individual filter condition.\n */\nexport type LogFilter = {\n level: LogLevel;\n pattern?: string;\n};\n\n/**\n * Options to set inline or load from the YML file.\n */\nexport type LogOptions = {\n file?: string;\n filter?: string | string[] | LogLevel;\n depth?: number; // Context object depth.\n processor?: string | LogProcessorType;\n formatter?: {\n column: number;\n };\n prefix?: string;\n};\n\n/**\n * Runtime config.\n */\nexport interface LogConfig {\n options: LogOptions;\n filters?: LogFilter[];\n processors: LogProcessor[];\n prefix?: string;\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nconst logInfoProperties = Symbol('logInfoProperties');\n\n/**\n * Decorate fields, properties, or methods to automatically include their values in log messages.\n *\n * Example:\n *\n * ```typescript\n * class Example {\n * @logInfo\n * peerId: PublicKey;\n * }\n * ```\n */\nexport const logInfo = (target: any, propertyKey: string, descriptor?: PropertyDescriptor) => {\n // console.log(target, propertyKey, descriptor);\n (target[logInfoProperties] ??= []).push(propertyKey);\n};\n\n/**\n * Introspects class instance to find decorated metadata.\n * @param scope Class instance.\n */\nexport const gatherLogInfoFromScope = (scope: any): Record<string, any> => {\n if (!scope) {\n return {};\n }\n\n const res: Record<string, any> = {};\n\n const prototype = Object.getPrototypeOf(scope);\n const infoProps = prototype[logInfoProperties] ?? [];\n for (const prop of infoProps) {\n try {\n res[prop] = typeof scope[prop] === 'function' ? scope[prop]() : scope[prop];\n } catch (err: any) {\n res[prop] = err.message;\n }\n }\n\n return res;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogConfig, LogFilter, LogLevel } from './config';\nimport { CallMetadata } from './meta';\nimport { gatherLogInfoFromScope } from './scope';\n\n/**\n * Optional object passed to the logging API.\n */\nexport type LogContext = Record<string, any> | Error | any;\n\n/**\n * Record for current log line.\n */\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n context?: LogContext;\n meta?: CallMetadata;\n error?: Error;\n}\n\n/**\n * Processes (e.g., prints, forwards) log entries.\n */\nexport type LogProcessor = (config: LogConfig, entry: LogEntry) => void;\n\nconst matchFilter = (filter: LogFilter, level: LogLevel, path: string) => {\n return level >= filter.level && (!filter.pattern || path.includes(filter.pattern));\n};\n\n/**\n * Determines if the current line should be logged (called by the processor).\n */\nexport const shouldLog = (entry: LogEntry, filters?: LogFilter[]): boolean => {\n if (filters === undefined) {\n return true;\n } else {\n return filters.some((filter) => matchFilter(filter, entry.level, entry.meta?.F ?? ''));\n }\n};\n\nexport const getContextFromEntry = (entry: LogEntry): Record<string, any> | undefined => {\n let context;\n if (entry.meta) {\n const scopeInfo = gatherLogInfoFromScope(entry.meta.S);\n if (Object.keys(scopeInfo).length > 0) {\n context = Object.assign(context ?? {}, scopeInfo);\n }\n }\n\n if (entry.context) {\n if (entry.context instanceof Error) {\n // Additional context from Error.\n const c = (entry.context as any).context;\n // If ERROR then show stacktrace.\n context = Object.assign(context ?? {}, { error: entry.context.stack, ...c });\n } else if (typeof entry.context === 'object') {\n context = Object.assign(context ?? {}, entry.context);\n }\n }\n\n return context && Object.keys(context).length > 0 ? context : undefined;\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport defaultsDeep from 'lodash.defaultsdeep';\n\nimport { LogConfig, LogFilter, LogLevel, LogOptions, LogProcessorType, levels } from './config';\nimport { LogProcessor } from './context';\nimport { loadOptions } from './platform';\nimport { CONSOLE_PROCESSOR, DEBUG_PROCESSOR, BROWSER_PROCESSOR } from './processors';\n\n/**\n * Processor variants.\n */\nexport const processors: { [index: string]: LogProcessor } = {\n [LogProcessorType.CONSOLE]: CONSOLE_PROCESSOR,\n [LogProcessorType.BROWSER]: BROWSER_PROCESSOR,\n [LogProcessorType.DEBUG]: DEBUG_PROCESSOR,\n};\n\nconst IS_BROWSER = typeof window !== 'undefined' || typeof navigator !== 'undefined';\n\nexport const DEFAULT_PROCESSORS = [IS_BROWSER ? BROWSER_PROCESSOR : CONSOLE_PROCESSOR];\n\nexport const parseFilter = (filter: string | string[] | LogLevel): LogFilter[] => {\n if (typeof filter === 'number') {\n return [{ level: filter }];\n }\n\n const parseLogLevel = (level: string, defValue = LogLevel.WARN) => levels[level.toLowerCase()] ?? defValue;\n\n const lines = typeof filter === 'string' ? filter.split(/,\\s*/) : filter;\n return lines.map((filter) => {\n const [pattern, level] = filter.split(':');\n return level ? { level: parseLogLevel(level), pattern } : { level: parseLogLevel(pattern) };\n });\n};\n\nexport const getConfig = (options?: LogOptions): LogConfig => {\n const nodeOptions: LogOptions | undefined =\n 'process' in globalThis\n ? {\n file: process!.env.LOG_CONFIG,\n filter: process!.env.LOG_FILTER,\n processor: process!.env.LOG_PROCESSOR,\n }\n : undefined;\n\n const mergedOptions: LogOptions = defaultsDeep(\n {},\n options,\n nodeOptions && loadOptions(nodeOptions.file),\n nodeOptions,\n );\n\n return {\n options: mergedOptions,\n filters: parseFilter(mergedOptions.filter ?? LogLevel.INFO),\n processors: mergedOptions.processor ? [processors[mergedOptions.processor]] : DEFAULT_PROCESSORS,\n prefix: mergedOptions.prefix,\n };\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport yaml from 'js-yaml';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport { LogOptions } from '../../config';\n\n/**\n * Node config loader.\n */\nexport const loadOptions = (filepath?: string): LogOptions | undefined => {\n if (filepath) {\n const fullpath = path.join(process.cwd(), filepath);\n // console.log(`Log file: ${fullpath}`);\n try {\n const text = fs.readFileSync(fullpath, 'utf-8');\n if (text) {\n return yaml.load(text) as LogOptions;\n }\n } catch (err) {\n console.warn(`Invalid log file: ${fullpath}`);\n }\n }\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport chalk from 'chalk';\nimport pickBy from 'lodash.pickby';\nimport { inspect } from 'node:util';\n\nimport { getPrototypeSpecificInstanceId } from '@dxos/util';\n\nimport { LogConfig, LogLevel, shortLevelName } from '../config';\nimport { getContextFromEntry, LogProcessor, shouldLog } from '../context';\n\nconst LEVEL_COLORS: Record<LogLevel, typeof chalk.ForegroundColor> = {\n [LogLevel.TRACE]: 'gray',\n [LogLevel.DEBUG]: 'gray',\n [LogLevel.INFO]: 'white',\n [LogLevel.WARN]: 'yellow',\n [LogLevel.ERROR]: 'red',\n};\n\nexport const truncate = (text?: string, length = 0, right = false) => {\n const str = text && length ? (right ? text.slice(-length) : text.substring(0, length)) : text ?? '';\n return right ? str.padStart(length, ' ') : str.padEnd(length, ' ');\n};\n\nconst getRelativeFilename = (filename: string) => {\n // TODO(burdon): Hack uses \"packages\" as an anchor (pre-parse NX?)\n // Including `packages/` part of the path so that excluded paths (e.g. from dist) are clickable in vscode.\n const match = filename.match(/.+\\/(packages\\/.+\\/.+)/);\n if (match) {\n const [, filePath] = match;\n return filePath;\n }\n\n return filename;\n};\n\n// TODO(burdon): Optional timestamp.\n// TODO(burdon): Optional package name.\n// TODO(burdon): Show exceptions on one line.\nexport type FormatParts = {\n path?: string;\n line?: number;\n level: LogLevel;\n message: string;\n context?: any;\n error?: Error;\n scope?: any;\n};\n\nexport type Formatter = (config: LogConfig, parts: FormatParts) => (string | undefined)[];\n\nexport const DEFAULT_FORMATTER: Formatter = (config, { path, line, level, message, context, error, scope }) => {\n const column = config.options?.formatter?.column;\n\n const filepath = path !== undefined && line !== undefined ? chalk.grey(`${path}:${line}`) : undefined;\n\n let instance;\n if (scope) {\n const prototype = Object.getPrototypeOf(scope);\n const id = getPrototypeSpecificInstanceId(scope);\n instance = chalk.magentaBright(`${prototype.constructor.name}#${id}`);\n }\n\n return [\n // NOTE: File path must come fist for console hyperlinks.\n // Must not truncate for terminal output.\n filepath,\n column && filepath ? ''.padStart(column - filepath.length) : undefined,\n chalk[LEVEL_COLORS[level]](column ? shortLevelName[level] : LogLevel[level]),\n instance,\n message,\n context,\n error,\n ];\n};\n\nexport const SHORT_FORMATTER: Formatter = (config, { path, level, message }) => [\n chalk.grey(truncate(path, 16, true)), // NOTE: Breaks terminal linking.\n chalk[LEVEL_COLORS[level]](shortLevelName[level]),\n message,\n];\n\n// TODO(burdon): Config option.\nconst formatter = DEFAULT_FORMATTER;\n\nexport const CONSOLE_PROCESSOR: LogProcessor = (config, entry) => {\n const { level, message, meta, error } = entry;\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n const parts: FormatParts = {\n level,\n message,\n error,\n path: undefined,\n line: undefined,\n scope: undefined,\n context: undefined,\n };\n\n if (meta) {\n parts.path = getRelativeFilename(meta.F);\n parts.line = meta.L;\n parts.scope = meta.S;\n }\n\n const context = getContextFromEntry(entry);\n if (context) {\n // Remove undefined fields.\n // https://nodejs.org/api/util.html#utilinspectobject-options\n parts.context = inspect(\n pickBy(context, (value?: unknown) => value !== undefined),\n { depth: config.options.depth, colors: true, maxArrayLength: 8, sorted: false },\n );\n }\n\n const line = formatter(config, parts).filter(Boolean).join(' ');\n console.log(line);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { inspect } from 'node:util';\n\nimport { LogProcessor } from '../context';\n\nexport const DEBUG_PROCESSOR: LogProcessor = (config, entry) => {\n console.log(inspect(entry, false, null, true));\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogLevel } from '../config';\nimport { getContextFromEntry, LogProcessor, shouldLog } from '../context';\n\nconst getRelativeFilename = (filename: string) => {\n // TODO(burdon): Hack uses \"packages\" as an anchor (pre-parse NX?)\n // Including `packages/` part of the path so that excluded paths (e.g. from dist) are clickable in vscode.\n const match = filename.match(/.+\\/(packages\\/.+\\/.+)/);\n if (match) {\n const [, filePath] = match;\n return filePath;\n }\n\n return filename;\n};\n\ntype Config = {\n useTestProcessor: boolean;\n printFileLinks: boolean;\n};\n\nconst CONFIG: Config =\n typeof mochaExecutor !== 'undefined'\n ? {\n useTestProcessor: true,\n printFileLinks: true,\n }\n : {\n useTestProcessor: false,\n printFileLinks: false,\n };\n\n/**\n * For running apps in the browser normally.\n */\nconst APP_BROWSER_PROCESSOR: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n // Example local editor prefix: 'vscode://file/Users/burdon/Code/dxos/dxos/'.\n const LOG_BROWSER_PREFIX = config.prefix ?? 'https://vscode.dev/github.com/dxos/dxos/blob/main/';\n\n // TODO(burdon): CSS breaks formatting (e.g., [Object] rather than expandable property).\n // TODO(burdon): Consider custom formatters.\n // https://www.mattzeunert.com/2016/02/19/custom-chrome-devtools-object-formatters.html\n // NOTE: Cannot change color of link (from bright white).\n // const LOG_BROWSER_CSS = ['color:gray; font-size:10px; padding-bottom: 4px', 'color:#B97852; font-size:14px;'];\n const LOG_BROWSER_CSS: string[] = [];\n\n let link = '';\n if (entry.meta) {\n const filename = getRelativeFilename(entry.meta.F);\n const filepath = `${LOG_BROWSER_PREFIX.replace(/\\/$/, '')}/${filename}`;\n // TODO(burdon): Line numbers not working for app link, even with colons.\n // https://stackoverflow.com/a/54459820/2804332\n link = `${filepath}#L${entry.meta.L}`;\n }\n\n let args = [];\n args.push(entry.message);\n\n const context = getContextFromEntry(entry);\n if (context) {\n args.push(context);\n }\n\n const levels: any = {\n [LogLevel.ERROR]: console.error,\n [LogLevel.WARN]: console.warn,\n [LogLevel.DEBUG]: console.log,\n };\n\n if (CONFIG.printFileLinks) {\n if (LOG_BROWSER_CSS?.length) {\n args = [`%c${link}\\n%c${args.join(' ')}`, ...LOG_BROWSER_CSS];\n } else {\n args = [link + '\\n', ...args];\n }\n }\n\n const level = levels[entry.level] ?? console.log;\n if (typeof entry.meta?.C === 'function') {\n entry.meta.C(level, args);\n } else {\n level(...args);\n }\n};\n\n/**\n * For running unit tests in the headless browser.\n */\nconst TEST_BROWSER_PROCESSOR: LogProcessor = (config, entry) => {\n if (!shouldLog(entry, config.filters)) {\n return;\n }\n\n let path = '';\n if (entry.meta) {\n path = `${getRelativeFilename(entry.meta.F)}:${entry.meta.L}`;\n }\n\n let args = [];\n args.push(entry.message);\n\n const context = getContextFromEntry(entry);\n if (context) {\n args.push(context);\n }\n\n const levels: any = {\n [LogLevel.ERROR]: console.error,\n [LogLevel.WARN]: console.warn,\n [LogLevel.DEBUG]: console.log,\n };\n\n if (CONFIG.printFileLinks) {\n args = [path, ...args];\n }\n\n const level = levels[entry.level] ?? console.log;\n if (typeof entry.meta?.C === 'function') {\n entry.meta.C(level, args);\n } else {\n level(...args);\n }\n};\n\nexport const BROWSER_PROCESSOR: LogProcessor = CONFIG.useTestProcessor ? TEST_BROWSER_PROCESSOR : APP_BROWSER_PROCESSOR;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { appendFileSync, mkdirSync, openSync } from 'node:fs';\nimport { dirname } from 'node:path';\n\nimport { jsonify } from '@dxos/util';\n\nimport { LogLevel } from '../config';\nimport { LogProcessor, getContextFromEntry } from '../context';\n\nexport const createFileProcessor = ({ path, levels }: { path: string; levels: LogLevel[] }): LogProcessor => {\n let fd: number | undefined;\n\n return (config, entry) => {\n if (!levels.includes(entry.level)) {\n return;\n }\n if (!fd) {\n try {\n mkdirSync(dirname(path));\n } catch {}\n fd = openSync(path, 'w');\n }\n\n const record = {\n ...entry,\n timestamp: Date.now(),\n meta: {\n file: entry.meta?.F,\n line: entry.meta?.L,\n },\n context: jsonify(getContextFromEntry(entry)),\n };\n appendFileSync(fd, JSON.stringify(record) + '\\n');\n };\n};\n\nlet logFilePath: string | undefined;\nconst getLogFilePath = () => {\n logFilePath ??=\n process.env.LOG_FILE ??\n (process.env.HOME ? `${process.env.HOME}/.dxlog/${new Date().toISOString()}.log` : undefined);\n\n return logFilePath!;\n};\n\nexport const FILE_PROCESSOR: LogProcessor = createFileProcessor({\n path: getLogFilePath(),\n levels: [LogLevel.ERROR, LogLevel.WARN, LogLevel.INFO, LogLevel.TRACE],\n});\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { LogConfig, LogLevel, LogOptions } from './config';\nimport { LogContext, LogProcessor } from './context';\nimport { CallMetadata } from './meta';\nimport { getConfig, DEFAULT_PROCESSORS } from './options';\n\n/**\n * Logging function.\n */\ntype LogFunction = (message: string, context?: LogContext, meta?: CallMetadata) => void;\n\n/**\n * Logging methods.\n */\ninterface LogMethods {\n trace: LogFunction;\n debug: LogFunction;\n info: LogFunction;\n warn: LogFunction;\n error: LogFunction;\n catch: (error: Error | any, context?: LogContext, meta?: CallMetadata) => void;\n break: () => void;\n}\n\n/**\n * Properties accessible on the logging function.\n */\ninterface Log extends LogMethods, LogFunction {\n config: (options: LogOptions) => void;\n addProcessor: (processor: LogProcessor) => void;\n runtimeConfig: LogConfig;\n}\n\ninterface LogImp extends Log {\n _config: LogConfig;\n}\n\nconst createLog = (): LogImp => {\n const log: LogImp = ((...params) => processLog(LogLevel.DEBUG, ...params)) as LogImp;\n\n log._config = getConfig();\n Object.defineProperty(log, 'runtimeConfig', { get: () => log._config });\n\n log.addProcessor = (processor: LogProcessor) => {\n if (DEFAULT_PROCESSORS.filter((p) => p === processor).length === 0) {\n DEFAULT_PROCESSORS.push(processor);\n }\n if (log._config.processors.filter((p) => p === processor).length === 0) {\n log._config.processors.push(processor);\n }\n };\n\n // Set config.\n log.config = (options: LogOptions) => {\n log._config = getConfig(options);\n };\n\n // TODO(burdon): API to set context and separate error object.\n // E.g., log.warn('failed', { key: 123 }, err);\n\n log.trace = (...params) => processLog(LogLevel.TRACE, ...params);\n log.debug = (...params) => processLog(LogLevel.DEBUG, ...params);\n log.info = (...params) => processLog(LogLevel.INFO, ...params);\n log.warn = (...params) => processLog(LogLevel.WARN, ...params);\n log.error = (...params) => processLog(LogLevel.ERROR, ...params);\n\n // Catch only shows error message, not stacktrace.\n log.catch = (error: Error | any, context, meta) => processLog(LogLevel.ERROR, error.stack, context, meta);\n\n // Show break.\n log.break = () => log.info('——————————————————————————————————————————————————');\n\n /**\n * Process the current log call.\n */\n const processLog = (\n level: LogLevel,\n message: string,\n context: LogContext = {},\n meta?: CallMetadata,\n error?: Error,\n ) => {\n log._config.processors.forEach((processor) => processor(log._config, { level, message, context, meta, error }));\n };\n\n return log;\n};\n\n/**\n * Global logging function.\n */\nexport const log: Log = ((globalThis as any).dx_log ??= createLog());\n\n/**\n * Accessible from browser console.\n */\ndeclare global {\n // eslint-disable-next-line camelcase\n const dx_log: Log;\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { inspect } from 'node:util';\n\nconst kOwnershipScope = Symbol('kOwnershipScope');\nconst kCurrentOwnershipScope = Symbol('kCurrentOwnershipScope');\nconst kDebugInfoProperties = Symbol('kDebugInfoProperties');\n\n/**\n *\n */\n// TODO(burdon): Document.\nexport class OwnershipScope {\n public instance: any;\n\n constructor(public constr: any, public parent?: OwnershipScope) {}\n\n getInfo() {\n if (!this.instance) {\n return {};\n }\n const props = this.constr.prototype[kDebugInfoProperties] ?? [];\n const info: any = {};\n for (const prop of props) {\n info[prop] = this.instance[prop];\n }\n return info;\n }\n\n [inspect.custom]() {\n return {\n className: this.constr.name,\n info: this.getInfo(),\n parent: this.parent,\n };\n }\n}\n\nfunction decorateMethodWeakReturnOwnership(prototype: any, key: string) {\n const original = prototype[key];\n prototype[key] = function (...args: any) {\n const res = original.apply(this, ...args);\n\n if (res && typeof res.then === 'function') {\n res.then((value: any) => {\n if (kOwnershipScope in value) {\n value[kOwnershipScope].parent ??= this[kOwnershipScope];\n }\n });\n } else {\n if (res && kOwnershipScope in res) {\n res[kOwnershipScope].parent ??= this[kOwnershipScope];\n }\n }\n\n return res;\n };\n}\n\nexport function ownershipClass<T extends { new (...args: any[]): {} }>(constr: T) {\n for (const key of Object.getOwnPropertyNames(constr.prototype)) {\n if (key !== 'constructor' && typeof constr.prototype[key] === 'function') {\n decorateMethodWeakReturnOwnership(constr.prototype, key);\n }\n }\n\n return class extends constr {\n constructor(...args: any[]) {\n const currentCausality = (globalThis as any)[kCurrentOwnershipScope];\n (globalThis as any)[kCurrentOwnershipScope] = new OwnershipScope(constr, currentCausality);\n super(...args);\n (this as any)[kOwnershipScope] = (globalThis as any)[kCurrentOwnershipScope];\n (this as any)[kOwnershipScope].instance = this;\n (globalThis as any)[kCurrentOwnershipScope] = currentCausality;\n }\n };\n}\n\nexport const debugInfo = (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n // console.log(target, propertyKey, descriptor);\n (target[kDebugInfoProperties] ??= []).push(propertyKey);\n};\n\nexport const getCurrentOwnershipScope = (thisRef: any) => thisRef;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["omit", "pick", "import_lodash", "LogLevel", "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "levels", "trace", "debug", "info", "warn", "error", "shortLevelName", "LogProcessorType", "CONSOLE", "BROWSER", "logInfoProperties", "Symbol", "logInfo", "target", "propertyKey", "descriptor", "push", "gatherLogInfoFromScope", "scope", "res", "prototype", "Object", "getPrototypeOf", "infoProps", "prop", "err", "message", "matchFilter", "filter", "level", "path", "pattern", "includes", "shouldLog", "entry", "filters", "undefined", "some", "meta", "F", "getContextFromEntry", "context", "scopeInfo", "gatherLogInfoFromScope", "S", "Object", "keys", "length", "assign", "Error", "c", "error", "stack", "import_lodash", "loadOptions", "filepath", "fullpath", "path", "join", "process", "cwd", "text", "fs", "readFileSync", "yaml", "load", "err", "console", "warn", "LEVEL_COLORS", "LogLevel", "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "truncate", "text", "length", "right", "str", "slice", "substring", "padStart", "padEnd", "getRelativeFilename", "filename", "match", "filePath", "DEFAULT_FORMATTER", "config", "path", "line", "level", "message", "context", "error", "scope", "column", "options", "formatter", "filepath", "undefined", "chalk", "grey", "instance", "prototype", "Object", "getPrototypeOf", "id", "getPrototypeSpecificInstanceId", "magentaBright", "constructor", "name", "shortLevelName", "SHORT_FORMATTER", "CONSOLE_PROCESSOR", "entry", "meta", "shouldLog", "filters", "parts", "F", "L", "S", "getContextFromEntry", "inspect", "pickBy", "value", "depth", "colors", "maxArrayLength", "sorted", "filter", "Boolean", "join", "console", "log", "import_node_util", "DEBUG_PROCESSOR", "config", "entry", "console", "log", "inspect", "getRelativeFilename", "filename", "match", "filePath", "CONFIG", "mochaExecutor", "useTestProcessor", "printFileLinks", "APP_BROWSER_PROCESSOR", "config", "entry", "shouldLog", "filters", "LOG_BROWSER_PREFIX", "prefix", "LOG_BROWSER_CSS", "link", "meta", "F", "filepath", "replace", "L", "args", "push", "message", "context", "getContextFromEntry", "levels", "LogLevel", "ERROR", "console", "error", "WARN", "warn", "DEBUG", "log", "length", "join", "level", "C", "TEST_BROWSER_PROCESSOR", "path", "BROWSER_PROCESSOR", "import_node_fs", "import_node_path", "import_util", "createFileProcessor", "path", "levels", "fd", "config", "entry", "includes", "level", "mkdirSync", "dirname", "openSync", "record", "timestamp", "Date", "now", "meta", "file", "F", "line", "L", "context", "jsonify", "getContextFromEntry", "appendFileSync", "JSON", "stringify", "logFilePath", "getLogFilePath", "process", "env", "LOG_FILE", "HOME", "toISOString", "undefined", "FILE_PROCESSOR", "LogLevel", "ERROR", "WARN", "INFO", "TRACE", "processors", "LogProcessorType", "CONSOLE", "CONSOLE_PROCESSOR", "BROWSER", "BROWSER_PROCESSOR", "DEBUG", "DEBUG_PROCESSOR", "IS_BROWSER", "window", "navigator", "DEFAULT_PROCESSORS", "parseFilter", "filter", "level", "parseLogLevel", "defValue", "LogLevel", "WARN", "levels", "toLowerCase", "lines", "split", "map", "pattern", "getConfig", "options", "nodeOptions", "globalThis", "file", "process", "env", "LOG_CONFIG", "LOG_FILTER", "processor", "LOG_PROCESSOR", "undefined", "mergedOptions", "defaultsDeep", "loadOptions", "filters", "INFO", "prefix", "createLog", "log", "params", "processLog", "LogLevel", "DEBUG", "_config", "getConfig", "Object", "defineProperty", "get", "addProcessor", "processor", "DEFAULT_PROCESSORS", "filter", "p", "length", "push", "processors", "config", "options", "trace", "TRACE", "debug", "info", "INFO", "warn", "WARN", "error", "ERROR", "catch", "context", "meta", "stack", "break", "level", "message", "forEach", "globalThis", "dx_log", "import_node_util", "kOwnershipScope", "Symbol", "kCurrentOwnershipScope", "kDebugInfoProperties", "OwnershipScope", "constructor", "constr", "parent", "getInfo", "instance", "props", "prototype", "info", "prop", "inspect", "custom", "className", "name", "getCurrentOwnershipScope", "thisRef"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/common/log/src/config.ts":{"bytes":
|
|
1
|
+
{"inputs":{"packages/common/log/src/config.ts":{"bytes":4022,"imports":[],"format":"esm"},"packages/common/log/src/scope.ts":{"bytes":3852,"imports":[],"format":"esm"},"packages/common/log/src/context.ts":{"bytes":5914,"imports":[{"path":"packages/common/log/src/scope.ts","kind":"import-statement","original":"./scope"}],"format":"esm"},"packages/common/log/src/platform/node/index.ts":{"bytes":2410,"imports":[{"path":"js-yaml","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true}],"format":"esm"},"packages/common/log/src/platform/index.ts":{"bytes":460,"imports":[{"path":"packages/common/log/src/platform/node/index.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"packages/common/log/src/processors/console-processor.ts":{"bytes":12687,"imports":[{"path":"chalk","kind":"import-statement","external":true},{"path":"lodash.pickby","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"../config"},{"path":"packages/common/log/src/context.ts","kind":"import-statement","original":"../context"}],"format":"esm"},"packages/common/log/src/processors/debug-processor.ts":{"bytes":1066,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/log/src/processors/browser-processor.ts":{"bytes":12682,"imports":[{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"../config"},{"path":"packages/common/log/src/context.ts","kind":"import-statement","original":"../context"}],"format":"esm"},"packages/common/log/src/processors/file-processor.ts":{"bytes":5318,"imports":[{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"../config"},{"path":"packages/common/log/src/context.ts","kind":"import-statement","original":"../context"}],"format":"esm"},"packages/common/log/src/processors/index.ts":{"bytes":817,"imports":[{"path":"packages/common/log/src/processors/console-processor.ts","kind":"import-statement","original":"./console-processor"},{"path":"packages/common/log/src/processors/debug-processor.ts","kind":"import-statement","original":"./debug-processor"},{"path":"packages/common/log/src/processors/browser-processor.ts","kind":"import-statement","original":"./browser-processor"},{"path":"packages/common/log/src/processors/file-processor.ts","kind":"import-statement","original":"./file-processor"}],"format":"esm"},"packages/common/log/src/options.ts":{"bytes":7313,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"./config"},{"path":"packages/common/log/src/platform/index.ts","kind":"import-statement","original":"./platform"},{"path":"packages/common/log/src/processors/index.ts","kind":"import-statement","original":"./processors"}],"format":"esm"},"packages/common/log/src/log.ts":{"bytes":8730,"imports":[{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"./config"},{"path":"packages/common/log/src/options.ts","kind":"import-statement","original":"./options"}],"format":"esm"},"packages/common/log/src/meta.ts":{"bytes":1625,"imports":[],"format":"esm"},"packages/common/log/src/experimental/ownership.ts":{"bytes":9246,"imports":[{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/common/log/src/index.ts":{"bytes":1663,"imports":[{"path":"lodash.omit","kind":"import-statement","external":true},{"path":"lodash.pick","kind":"import-statement","external":true},{"path":"packages/common/log/src/config.ts","kind":"import-statement","original":"./config"},{"path":"packages/common/log/src/context.ts","kind":"import-statement","original":"./context"},{"path":"packages/common/log/src/log.ts","kind":"import-statement","original":"./log"},{"path":"packages/common/log/src/options.ts","kind":"import-statement","original":"./options"},{"path":"packages/common/log/src/processors/index.ts","kind":"import-statement","original":"./processors"},{"path":"packages/common/log/src/scope.ts","kind":"import-statement","original":"./scope"},{"path":"packages/common/log/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/common/log/src/experimental/ownership.ts","kind":"import-statement","original":"./experimental/ownership"}],"format":"esm"}},"outputs":{"packages/common/log/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":36967},"packages/common/log/dist/lib/node/index.cjs":{"imports":[{"path":"lodash.omit","kind":"require-call","external":true},{"path":"lodash.pick","kind":"require-call","external":true},{"path":"lodash.defaultsdeep","kind":"require-call","external":true},{"path":"js-yaml","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"node:path","kind":"require-call","external":true},{"path":"chalk","kind":"require-call","external":true},{"path":"lodash.pickby","kind":"require-call","external":true},{"path":"node:util","kind":"require-call","external":true},{"path":"@dxos/util","kind":"require-call","external":true},{"path":"node:util","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"node:path","kind":"require-call","external":true},{"path":"@dxos/util","kind":"require-call","external":true},{"path":"node:util","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/common/log/src/index.ts","inputs":{"packages/common/log/src/index.ts":{"bytesInOutput":1027},"packages/common/log/src/config.ts":{"bytesInOutput":821},"packages/common/log/src/scope.ts":{"bytesInOutput":571},"packages/common/log/src/context.ts":{"bytesInOutput":983},"packages/common/log/src/options.ts":{"bytesInOutput":1506},"packages/common/log/src/platform/node/index.ts":{"bytesInOutput":530},"packages/common/log/src/platform/index.ts":{"bytesInOutput":0},"packages/common/log/src/processors/console-processor.ts":{"bytesInOutput":2672},"packages/common/log/src/processors/index.ts":{"bytesInOutput":0},"packages/common/log/src/processors/debug-processor.ts":{"bytesInOutput":165},"packages/common/log/src/processors/browser-processor.ts":{"bytesInOutput":2324},"packages/common/log/src/processors/file-processor.ts":{"bytesInOutput":1183},"packages/common/log/src/log.ts":{"bytesInOutput":1644},"packages/common/log/src/experimental/ownership.ts":{"bytesInOutput":796}},"bytes":16700}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AAGH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,KAAK,KAAK;IACV,IAAI,KAAK;IACT,IAAI,KAAK;IACT,KAAK,KAAK;CACX;AAED,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;CAM/C,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;CAM1B,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACtC,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|