@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.
Files changed (60) hide show
  1. package/dist/lib/browser/chunk-GPOFUMLO.mjs +133 -0
  2. package/dist/lib/browser/chunk-GPOFUMLO.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-IEP6GGEX.mjs +23 -0
  4. package/dist/lib/browser/chunk-IEP6GGEX.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +151 -201
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/platform/browser/index.mjs +26 -0
  9. package/dist/lib/browser/platform/browser/index.mjs.map +7 -0
  10. package/dist/lib/browser/platform/node/index.mjs +21 -0
  11. package/dist/lib/browser/platform/node/index.mjs.map +7 -0
  12. package/dist/lib/browser/processors/console-processor.mjs +107 -0
  13. package/dist/lib/browser/processors/console-processor.mjs.map +7 -0
  14. package/dist/lib/browser/processors/console-stub.mjs +9 -0
  15. package/dist/lib/browser/processors/console-stub.mjs.map +7 -0
  16. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
  17. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-QPYJZ4SO.mjs +135 -0
  19. package/dist/lib/node-esm/chunk-QPYJZ4SO.mjs.map +7 -0
  20. package/dist/lib/node-esm/index.mjs +146 -283
  21. package/dist/lib/node-esm/index.mjs.map +4 -4
  22. package/dist/lib/node-esm/meta.json +1 -1
  23. package/dist/lib/node-esm/platform/browser/index.mjs +27 -0
  24. package/dist/lib/node-esm/platform/browser/index.mjs.map +7 -0
  25. package/dist/lib/node-esm/platform/node/index.mjs +22 -0
  26. package/dist/lib/node-esm/platform/node/index.mjs.map +7 -0
  27. package/dist/lib/node-esm/processors/console-processor.mjs +108 -0
  28. package/dist/lib/node-esm/processors/console-processor.mjs.map +7 -0
  29. package/dist/lib/node-esm/processors/console-stub.mjs +10 -0
  30. package/dist/lib/node-esm/processors/console-stub.mjs.map +7 -0
  31. package/dist/types/src/config.d.ts.map +1 -1
  32. package/dist/types/src/context.d.ts.map +1 -1
  33. package/dist/types/src/dbg.d.ts +23 -0
  34. package/dist/types/src/dbg.d.ts.map +1 -0
  35. package/dist/types/src/decorators.d.ts +1 -1
  36. package/dist/types/src/decorators.d.ts.map +1 -1
  37. package/dist/types/src/index.d.ts +1 -0
  38. package/dist/types/src/index.d.ts.map +1 -1
  39. package/dist/types/src/log.d.ts +12 -18
  40. package/dist/types/src/log.d.ts.map +1 -1
  41. package/dist/types/src/options.d.ts +1 -6
  42. package/dist/types/src/options.d.ts.map +1 -1
  43. package/dist/types/src/platform/index.d.ts +1 -1
  44. package/dist/types/src/platform/index.d.ts.map +1 -1
  45. package/dist/types/src/processors/file-processor.d.ts.map +1 -1
  46. package/dist/types/src/processors/index.d.ts +3 -3
  47. package/dist/types/src/processors/index.d.ts.map +1 -1
  48. package/dist/types/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +29 -9
  50. package/src/config.ts +1 -0
  51. package/src/context.ts +36 -5
  52. package/src/dbg.ts +35 -0
  53. package/src/decorators.ts +3 -3
  54. package/src/index.ts +1 -0
  55. package/src/log.test.ts +48 -18
  56. package/src/log.ts +101 -57
  57. package/src/options.ts +26 -10
  58. package/src/platform/index.ts +1 -1
  59. package/src/processors/file-processor.ts +2 -0
  60. 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/node/index.ts
215
- import fs from "node:fs";
216
- import yaml from "js-yaml";
217
- var loadOptions = (filepath) => {
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/debug-processor.ts
335
- import { inspect as inspect3 } from "node:util";
336
- var DEBUG_PROCESSOR = (config, entry) => {
337
- console.log(inspect3(entry, false, null, true));
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 ?? (logFilePath = process.env.LOG_FILE ?? (process.env.HOME ? `${process.env.HOME}/.dxlog/${(/* @__PURE__ */ new Date()).toISOString()}.log` : void 0));
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 IS_BROWSER = typeof window !== "undefined" || typeof navigator !== "undefined";
365
+ var browser = (typeof window !== "undefined" || typeof navigator !== "undefined") && !(typeof process !== "undefined" && process?.env?.VITEST);
523
366
  var DEFAULT_PROCESSORS = [
524
- IS_BROWSER ? BROWSER_PROCESSOR : CONSOLE_PROCESSOR
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 getConfig = (options) => {
547
- const nodeOptions = "process" in globalThis ? {
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(nodeOptions?.file), nodeOptions, options);
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
- ] : DEFAULT_PROCESSORS,
402
+ ] : [
403
+ ...DEFAULT_PROCESSORS
404
+ ],
560
405
  prefix: mergedOptions.prefix
561
406
  };
562
407
  };
563
408
 
564
409
  // src/log.ts
565
- var _globalThis;
410
+ var logCount = 0;
566
411
  var createLog = () => {
567
412
  const log2 = (...params) => processLog(LogLevel.DEBUG, ...params);
568
- log2._config = getConfig();
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 = (_globalThis = globalThis).dx_log ?? (_globalThis.dx_log = createLog());
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/experimental/ownership.ts
624
- import { inspect as inspect4 } from "node:util";
625
- function _define_property(obj, key, value) {
626
- if (key in obj) {
627
- Object.defineProperty(obj, key, {
628
- value,
629
- enumerable: true,
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
- obj[key] = value;
497
+ console.log(arg);
635
498
  }
636
- return obj;
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
- [_inspect_custom]() {
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