@trebired/logger 2.4.3 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/README.md +10 -0
  3. package/dist/backend/utils/normalize.d.ts +2 -0
  4. package/dist/backend/utils/normalize.d.ts.map +1 -0
  5. package/dist/backend/utils/normalize.js +4 -0
  6. package/dist/backend/utils/normalize.js.map +1 -0
  7. package/dist/backend/utils/object.d.ts +3 -0
  8. package/dist/backend/utils/object.d.ts.map +1 -0
  9. package/dist/backend/utils/object.js +12 -0
  10. package/dist/backend/utils/object.js.map +1 -0
  11. package/dist/backend/utils/time.d.ts +3 -0
  12. package/dist/backend/utils/time.d.ts.map +1 -0
  13. package/dist/backend/utils/time.js +7 -0
  14. package/dist/backend/utils/time.js.map +1 -0
  15. package/dist/browser/console_transport.d.ts +1 -1
  16. package/dist/browser/console_transport.d.ts.map +1 -1
  17. package/dist/browser/console_transport.js +3 -3
  18. package/dist/browser/console_transport.js.map +1 -1
  19. package/dist/browser/create_log.d.ts +1 -1
  20. package/dist/browser/create_log.d.ts.map +1 -1
  21. package/dist/browser/create_log.js +5 -5
  22. package/dist/browser/create_log.js.map +1 -1
  23. package/dist/browser/index.d.ts +1 -1
  24. package/dist/browser/index.d.ts.map +1 -1
  25. package/dist/browser/react.d.ts +1 -1
  26. package/dist/browser/react.d.ts.map +1 -1
  27. package/dist/config/console_visibility.d.ts +14 -0
  28. package/dist/config/console_visibility.d.ts.map +1 -0
  29. package/dist/config/console_visibility.js +109 -0
  30. package/dist/config/console_visibility.js.map +1 -0
  31. package/dist/core/create_log/api.d.ts +6 -0
  32. package/dist/core/create_log/api.d.ts.map +1 -0
  33. package/dist/core/create_log/api.js +182 -0
  34. package/dist/core/create_log/api.js.map +1 -0
  35. package/dist/core/create_log/finalize.d.ts +16 -0
  36. package/dist/core/create_log/finalize.d.ts.map +1 -0
  37. package/dist/core/create_log/finalize.js +197 -0
  38. package/dist/core/create_log/finalize.js.map +1 -0
  39. package/dist/core/create_log/runtime.d.ts +44 -0
  40. package/dist/core/create_log/runtime.d.ts.map +1 -0
  41. package/dist/core/create_log/runtime.js +212 -0
  42. package/dist/core/create_log/runtime.js.map +1 -0
  43. package/dist/core/create_log.d.ts +3 -2
  44. package/dist/core/create_log.d.ts.map +1 -1
  45. package/dist/core/create_log.js +17 -367
  46. package/dist/core/create_log.js.map +1 -1
  47. package/dist/core/shared.d.ts +1 -1
  48. package/dist/core/shared.d.ts.map +1 -1
  49. package/dist/core/shared.js +123 -62
  50. package/dist/core/shared.js.map +1 -1
  51. package/dist/format/console.d.ts +1 -1
  52. package/dist/format/console.d.ts.map +1 -1
  53. package/dist/format/console.js +2 -2
  54. package/dist/format/console.js.map +1 -1
  55. package/dist/format/options.d.ts +1 -1
  56. package/dist/format/options.d.ts.map +1 -1
  57. package/dist/format/options.js +1 -1
  58. package/dist/format/options.js.map +1 -1
  59. package/dist/frontend/js/utils/text.d.ts +2 -0
  60. package/dist/frontend/js/utils/text.d.ts.map +1 -0
  61. package/dist/frontend/js/utils/text.js +4 -0
  62. package/dist/frontend/js/utils/text.js.map +1 -0
  63. package/dist/levels/index.d.ts +1 -1
  64. package/dist/levels/index.d.ts.map +1 -1
  65. package/dist/levels/index.js +2 -2
  66. package/dist/levels/index.js.map +1 -1
  67. package/dist/metadata/process.d.ts +1 -1
  68. package/dist/metadata/process.d.ts.map +1 -1
  69. package/dist/metadata/process.js +2 -2
  70. package/dist/metadata/process.js.map +1 -1
  71. package/dist/middleware/request.d.ts +1 -1
  72. package/dist/middleware/request.d.ts.map +1 -1
  73. package/dist/middleware/request.js +1 -1
  74. package/dist/middleware/request.js.map +1 -1
  75. package/dist/storage/backend/js.d.ts.map +1 -1
  76. package/dist/storage/backend/js.js +50 -32
  77. package/dist/storage/backend/js.js.map +1 -1
  78. package/dist/storage/backend/native.d.ts +3 -1
  79. package/dist/storage/backend/native.d.ts.map +1 -1
  80. package/dist/storage/backend/native.js +7 -1
  81. package/dist/storage/backend/native.js.map +1 -1
  82. package/dist/storage/backend/types.d.ts +1 -1
  83. package/dist/storage/backend/types.d.ts.map +1 -1
  84. package/dist/storage/export.d.ts +1 -1
  85. package/dist/storage/export.d.ts.map +1 -1
  86. package/dist/storage/export.js +1 -1
  87. package/dist/storage/export.js.map +1 -1
  88. package/dist/storage/names.d.ts +1 -1
  89. package/dist/storage/names.d.ts.map +1 -1
  90. package/dist/storage/names.js +4 -4
  91. package/dist/storage/names.js.map +1 -1
  92. package/dist/storage/options.d.ts +1 -1
  93. package/dist/storage/options.d.ts.map +1 -1
  94. package/dist/storage/options.js +1 -1
  95. package/dist/storage/options.js.map +1 -1
  96. package/dist/storage/partitions/delete.d.ts +1 -1
  97. package/dist/storage/partitions/delete.d.ts.map +1 -1
  98. package/dist/storage/partitions/delete.js +1 -1
  99. package/dist/storage/partitions/delete.js.map +1 -1
  100. package/dist/storage/partitions/files.d.ts +2 -2
  101. package/dist/storage/partitions/files.d.ts.map +1 -1
  102. package/dist/storage/partitions/files.js +4 -4
  103. package/dist/storage/partitions/files.js.map +1 -1
  104. package/dist/storage/partitions/internal.d.ts +2 -2
  105. package/dist/storage/partitions/internal.d.ts.map +1 -1
  106. package/dist/storage/partitions/internal.js +1 -1
  107. package/dist/storage/partitions/internal.js.map +1 -1
  108. package/dist/storage/partitions/markers.js +2 -2
  109. package/dist/storage/partitions/markers.js.map +1 -1
  110. package/dist/storage/partitions/public.d.ts +1 -1
  111. package/dist/storage/partitions/public.d.ts.map +1 -1
  112. package/dist/storage/partitions/public.js +1 -1
  113. package/dist/storage/partitions/public.js.map +1 -1
  114. package/dist/storage/partitions/records.d.ts +1 -1
  115. package/dist/storage/partitions/records.d.ts.map +1 -1
  116. package/dist/storage/partitions/records.js +3 -3
  117. package/dist/storage/partitions/records.js.map +1 -1
  118. package/dist/storage/partitions/rewrite.d.ts +2 -2
  119. package/dist/storage/partitions/rewrite.d.ts.map +1 -1
  120. package/dist/storage/partitions/rewrite.js +2 -2
  121. package/dist/storage/partitions/rewrite.js.map +1 -1
  122. package/dist/storage/partitions/transforms.d.ts +1 -1
  123. package/dist/storage/partitions/transforms.d.ts.map +1 -1
  124. package/dist/storage/partitions/transforms.js +2 -2
  125. package/dist/storage/partitions/transforms.js.map +1 -1
  126. package/dist/storage/query/rows.d.ts +2 -2
  127. package/dist/storage/query/rows.d.ts.map +1 -1
  128. package/dist/storage/query/shared.d.ts +2 -2
  129. package/dist/storage/query/shared.d.ts.map +1 -1
  130. package/dist/storage/query/shared.js +2 -2
  131. package/dist/storage/query/shared.js.map +1 -1
  132. package/dist/storage/query/summary.d.ts +2 -2
  133. package/dist/storage/query/summary.d.ts.map +1 -1
  134. package/dist/storage/query/summary.js +2 -2
  135. package/dist/storage/query/summary.js.map +1 -1
  136. package/dist/storage/query.d.ts +1 -1
  137. package/dist/storage/query.d.ts.map +1 -1
  138. package/dist/storage/query.js +1 -1
  139. package/dist/storage/query.js.map +1 -1
  140. package/dist/storage/retention.d.ts +1 -1
  141. package/dist/storage/retention.d.ts.map +1 -1
  142. package/dist/storage/retention.js +30 -19
  143. package/dist/storage/retention.js.map +1 -1
  144. package/dist/storage/walk.js +1 -1
  145. package/dist/storage/walk.js.map +1 -1
  146. package/dist/storage/write.d.ts +1 -1
  147. package/dist/storage/write.d.ts.map +1 -1
  148. package/dist/storage/write.js +2 -2
  149. package/dist/storage/write.js.map +1 -1
  150. package/dist/utils/values.d.ts +4 -5
  151. package/dist/utils/values.d.ts.map +1 -1
  152. package/dist/utils/values.js +4 -5
  153. package/dist/utils/values.js.map +1 -1
  154. package/native/darwin-arm64.node +0 -0
  155. package/native/darwin-x64.node +0 -0
  156. package/native/linux-arm64-gnu.node +0 -0
  157. package/native/linux-x64-gnu.node +0 -0
  158. package/package.json +133 -58
@@ -1,372 +1,22 @@
1
- import path from "node:path";
2
- import { createCommonLogger } from "./shared.js";
3
- import { formatConsole, writeConsole } from "../format/console.js";
4
- import { normalizeConsoleOptions } from "../format/options.js";
5
- import { normalizeLevels } from "../levels/index.js";
6
- import { buildRequestMiddleware } from "../middleware/request.js";
7
- import { logStream } from "../stream/index.js";
8
- import { activeStorageBackendNotice } from "../storage/backend/index.js";
9
- import { exportPartition as exportStoredPartition, exportPartitions as exportStoredPartitions } from "../storage/export.js";
10
- import { normalizePartitionKey, sanitizePartitionName } from "../storage/names.js";
11
- import { deleteNonCurrentTemporaryPartitions } from "../storage/partitions/delete.js";
12
- import { createPartitionError, isPartitionError } from "../storage/partitions/errors.js";
13
- import { getPartitionInfo as getStoredPartitionInfo, listPartitions as listStoredPartitions, mergePartition, renamePartition, touchPartitionMarkerSync, } from "../storage/partitions.js";
14
- import { getLogsForDir } from "../storage/query.js";
15
- import { normalizeRetentionOptions, normalizeWriteOptions } from "../storage/options.js";
16
- import { FileWriter } from "../storage/write.js";
17
- import { normalizeTimeZone } from "../utils/datetime.js";
18
- import { maybeShowNodeRuntimeNotice } from "../utils/runtime.js";
19
- import { toString } from "../utils/values.js";
20
- let packageGreetingShown = false;
21
- let storageBackendNoticeShown = false;
22
- const activeTemporaryPartitionsByDir = new Map();
23
- function safeResolveDir(value) {
24
- const raw = toString(value);
25
- return raw ? path.resolve(raw) : "";
26
- }
27
- function cleanupErrorMessage(error) {
28
- return error instanceof Error ? error.message : String(error);
29
- }
30
- function resolvePartitionExistsPolicy(options, fallback) {
31
- if (options && typeof options === "object" && options.ifExists)
32
- return options.ifExists;
33
- if (options && typeof options === "object" && "merge" in options && options.merge === true)
34
- return "merge";
35
- return fallback;
1
+ import { createBaseLogApi, createCreateLogRuntime, } from "./create_log/runtime.js";
2
+ import { attachLogApi, maybeShowInitializationNotices, } from "./create_log/api.js";
3
+ const sharedState = {
4
+ packageGreetingShown: false,
5
+ storageBackendNoticeShown: false,
6
+ activeTemporaryPartitionsByDir: new Map(),
7
+ };
8
+ function resetCreateLogStateForTests() {
9
+ sharedState.packageGreetingShown = false;
10
+ sharedState.storageBackendNoticeShown = false;
11
+ sharedState.activeTemporaryPartitionsByDir.clear();
36
12
  }
37
13
  function createLog(options = {}) {
38
- const cfg = options && typeof options === "object" ? options : {};
39
- maybeShowNodeRuntimeNotice(cfg.quiet);
40
- const levels = normalizeLevels(cfg.levels);
41
- const consoleOptions = normalizeConsoleOptions(cfg.console);
42
- const timeZone = normalizeTimeZone(cfg.timeZone);
43
- let activePartition = normalizePartitionKey(cfg.partition) || null;
44
- let activeTemporary = cfg.temporaryPartition === true;
45
- const writer = new FileWriter({
46
- dir: safeResolveDir(cfg.dir),
47
- save: typeof cfg.save === "boolean" ? cfg.save : Boolean(toString(cfg.dir)),
48
- write: normalizeWriteOptions(cfg.write),
49
- retention: normalizeRetentionOptions(cfg.retention),
50
- timeZone,
51
- onError: (message) => writeConsole("stderr", message),
52
- });
53
- let registeredTemporaryPartition = null;
54
- function unregisterTemporaryPartition() {
55
- if (!registeredTemporaryPartition)
56
- return;
57
- const current = activeTemporaryPartitionsByDir.get(registeredTemporaryPartition.dir);
58
- if (current) {
59
- current.delete(registeredTemporaryPartition.partition);
60
- if (current.size === 0)
61
- activeTemporaryPartitionsByDir.delete(registeredTemporaryPartition.dir);
62
- }
63
- registeredTemporaryPartition = null;
64
- }
65
- function registerTemporaryPartition() {
66
- unregisterTemporaryPartition();
67
- if (!activeTemporary || !activePartition || !writer.isSavingEnabled() || !writer.getDir())
68
- return;
69
- const dir = writer.getDir();
70
- const current = activeTemporaryPartitionsByDir.get(dir) || new Set();
71
- current.add(activePartition);
72
- activeTemporaryPartitionsByDir.set(dir, current);
73
- registeredTemporaryPartition = { dir, partition: activePartition };
74
- }
75
- function keepTemporaryPartitions(dir) {
76
- return Array.from(activeTemporaryPartitionsByDir.get(dir) || []);
77
- }
78
- async function cleanupTemporaryPartitions(dir = writer.getDir()) {
79
- if (!writer.isSavingEnabled() || !dir)
80
- return;
81
- await deleteNonCurrentTemporaryPartitions(dir, keepTemporaryPartitions(dir));
82
- }
83
- function scheduleTemporaryPartitionCleanup(dir = writer.getDir()) {
84
- if (!writer.isSavingEnabled() || !dir)
85
- return;
86
- void cleanupTemporaryPartitions(dir).catch((error) => {
87
- writeConsole("stderr", `[trebired.logger] temporary partition cleanup failed: ${cleanupErrorMessage(error)}`);
88
- });
89
- }
90
- async function applyActivePartition(nextPartition, nextTemporary) {
91
- unregisterTemporaryPartition();
92
- activePartition = nextPartition;
93
- activeTemporary = nextTemporary;
94
- if (activePartition && writer.isSavingEnabled() && writer.getDir()) {
95
- touchPartitionMarkerSync(writer.getDir(), activePartition, {
96
- temporary: activeTemporary,
97
- });
98
- }
99
- registerTemporaryPartition();
100
- await cleanupTemporaryPartitions();
101
- }
102
- function createFinalizePartitionResult(args) {
103
- return {
104
- partition: args.partition,
105
- previousPartition: args.previousPartition,
106
- action: args.action,
107
- sourceExisted: args.sourceExisted,
108
- targetExisted: args.targetExisted,
109
- temporaryBefore: args.temporaryBefore,
110
- temporaryAfter: false,
111
- };
112
- }
113
- async function finalizeActivePartition(partition, options, fallbackPolicy) {
114
- if (!activePartition)
115
- throw createPartitionError("partition-not-set");
116
- const nextPartition = sanitizePartitionName(partition);
117
- const previousPartition = activePartition;
118
- const temporaryBefore = activeTemporary;
119
- const ifExists = resolvePartitionExistsPolicy(options, fallbackPolicy);
120
- await writer.flush();
121
- if (!writer.isSavingEnabled() || !writer.getDir()) {
122
- if (nextPartition === activePartition) {
123
- const action = activeTemporary ? "marked-permanent" : "already-finalized";
124
- activeTemporary = false;
125
- return createFinalizePartitionResult({
126
- action,
127
- partition: nextPartition,
128
- previousPartition,
129
- sourceExisted: false,
130
- targetExisted: false,
131
- temporaryBefore,
132
- });
133
- }
134
- activePartition = nextPartition;
135
- activeTemporary = false;
136
- return createFinalizePartitionResult({
137
- action: "activated-target",
138
- partition: nextPartition,
139
- previousPartition,
140
- sourceExisted: false,
141
- targetExisted: false,
142
- temporaryBefore,
143
- });
144
- }
145
- const dir = writer.getDir();
146
- if (nextPartition === activePartition) {
147
- touchPartitionMarkerSync(dir, nextPartition, { temporary: false });
148
- unregisterTemporaryPartition();
149
- activeTemporary = false;
150
- await cleanupTemporaryPartitions();
151
- return createFinalizePartitionResult({
152
- action: temporaryBefore ? "marked-permanent" : "already-finalized",
153
- partition: nextPartition,
154
- previousPartition,
155
- sourceExisted: true,
156
- targetExisted: true,
157
- temporaryBefore,
158
- });
159
- }
160
- let sourceInfo = await getStoredPartitionInfo(dir, activePartition);
161
- let targetInfo = await getStoredPartitionInfo(dir, nextPartition);
162
- const initialSourceExisted = Boolean(sourceInfo);
163
- const initialTargetExisted = Boolean(targetInfo);
164
- const activateTarget = async (action) => {
165
- await applyActivePartition(nextPartition, false);
166
- return createFinalizePartitionResult({
167
- action,
168
- partition: nextPartition,
169
- previousPartition,
170
- sourceExisted: initialSourceExisted,
171
- targetExisted: initialTargetExisted,
172
- temporaryBefore,
173
- });
174
- };
175
- if (!sourceInfo) {
176
- if (targetInfo) {
177
- if (ifExists === "error") {
178
- throw createPartitionError("partition-already-exists", { partition: nextPartition });
179
- }
180
- await applyActivePartition(nextPartition, false);
181
- return createFinalizePartitionResult({
182
- action: ifExists === "switch" ? "switched" : "activated-target",
183
- partition: nextPartition,
184
- previousPartition,
185
- sourceExisted: false,
186
- targetExisted: true,
187
- temporaryBefore,
188
- });
189
- }
190
- await applyActivePartition(nextPartition, false);
191
- return createFinalizePartitionResult({
192
- action: "activated-target",
193
- partition: nextPartition,
194
- previousPartition,
195
- sourceExisted: false,
196
- targetExisted: false,
197
- temporaryBefore,
198
- });
199
- }
200
- if (targetInfo) {
201
- if (ifExists === "switch") {
202
- return activateTarget("switched");
203
- }
204
- if (ifExists === "merge") {
205
- await mergePartition(dir, { from: activePartition, to: nextPartition });
206
- sourceInfo = await getStoredPartitionInfo(dir, activePartition);
207
- targetInfo = await getStoredPartitionInfo(dir, nextPartition);
208
- return activateTarget("merged");
209
- }
210
- throw createPartitionError("partition-already-exists", { partition: nextPartition });
211
- }
212
- try {
213
- await renamePartition(dir, { from: activePartition, to: nextPartition });
214
- sourceInfo = await getStoredPartitionInfo(dir, activePartition);
215
- targetInfo = await getStoredPartitionInfo(dir, nextPartition);
216
- return activateTarget("renamed");
217
- }
218
- catch (error) {
219
- if (!isPartitionError(error, "partition-already-exists"))
220
- throw error;
221
- sourceInfo = await getStoredPartitionInfo(dir, activePartition);
222
- targetInfo = await getStoredPartitionInfo(dir, nextPartition);
223
- if (!targetInfo)
224
- throw error;
225
- if (ifExists === "switch") {
226
- return activateTarget("switched");
227
- }
228
- if (ifExists === "merge" && sourceInfo) {
229
- await mergePartition(dir, { from: activePartition, to: nextPartition });
230
- await applyActivePartition(nextPartition, false);
231
- return createFinalizePartitionResult({
232
- action: "merged",
233
- partition: nextPartition,
234
- previousPartition,
235
- sourceExisted: true,
236
- targetExisted: true,
237
- temporaryBefore,
238
- });
239
- }
240
- throw error;
241
- }
242
- }
243
- if (activePartition && activeTemporary && writer.isSavingEnabled() && writer.getDir()) {
244
- touchPartitionMarkerSync(writer.getDir(), activePartition, { temporary: true });
245
- }
246
- registerTemporaryPartition();
247
- if (writer.isSavingEnabled() && writer.getDir())
248
- scheduleTemporaryPartitionCleanup();
249
- const { api: baseApi } = createCommonLogger({
250
- levels,
251
- minLevel: cfg.minLevel,
252
- defaultSource: cfg.source,
253
- serializers: cfg.serializers,
254
- redact: cfg.redact,
255
- sample: cfg.sample,
256
- getPartition: () => activePartition,
257
- writeEntry(entry, levelConfig) {
258
- if (consoleOptions.enabled)
259
- writeConsole(levelConfig.stream, formatConsole(entry, levelConfig, consoleOptions, timeZone));
260
- writer.write(entry);
261
- try {
262
- logStream.emit("log", entry, { runtime: "server", dir: writer.getDir() });
263
- }
264
- catch { }
265
- },
266
- flush() {
267
- return writer.flush();
268
- },
269
- close() {
270
- return writer.close();
271
- },
272
- getStats() {
273
- return writer.getStats();
274
- },
275
- });
276
- const api = baseApi;
277
- Object.assign(api, {
278
- getDir() {
279
- return writer.getDir();
280
- },
281
- setDir(nextDir) {
282
- const previousDir = writer.getDir();
283
- unregisterTemporaryPartition();
284
- writer.setDir(safeResolveDir(nextDir));
285
- if (activePartition && activeTemporary && writer.isSavingEnabled() && writer.getDir()) {
286
- touchPartitionMarkerSync(writer.getDir(), activePartition, { temporary: true });
287
- }
288
- registerTemporaryPartition();
289
- if (previousDir && previousDir !== writer.getDir())
290
- scheduleTemporaryPartitionCleanup(previousDir);
291
- if (writer.isSavingEnabled() && writer.getDir())
292
- scheduleTemporaryPartitionCleanup();
293
- },
294
- getPartition() {
295
- return activePartition;
296
- },
297
- async setPartition(partition, options) {
298
- const hasTemporary = Object.prototype.hasOwnProperty.call(options || {}, "temporary");
299
- const nextPartition = partition == null ? null : sanitizePartitionName(String(partition));
300
- const samePartition = nextPartition === activePartition;
301
- const nextTemporary = nextPartition
302
- ? (hasTemporary ? options?.temporary === true : (samePartition ? activeTemporary : false))
303
- : false;
304
- await writer.flush();
305
- await applyActivePartition(nextPartition, nextTemporary);
306
- },
307
- async finalizePartition(partition, options) {
308
- return finalizeActivePartition(partition, options, "merge");
309
- },
310
- async promotePartition(partition, options) {
311
- return finalizeActivePartition(partition, options, "error");
312
- },
313
- async listPartitions() {
314
- return listStoredPartitions(writer.getDir());
315
- },
316
- async exportPartition(partitionOrOptions, maybeOptions) {
317
- await writer.flush();
318
- const hasPartitionArg = typeof partitionOrOptions === "string";
319
- const partition = hasPartitionArg ? sanitizePartitionName(partitionOrOptions) : activePartition;
320
- const options = (hasPartitionArg
321
- ? maybeOptions
322
- : (partitionOrOptions && typeof partitionOrOptions === "object" ? partitionOrOptions : maybeOptions)) || {};
323
- if (!partition)
324
- throw createPartitionError("partition-not-set");
325
- return exportStoredPartition(writer.getDir(), partition, options);
326
- },
327
- async exportPartitions(options) {
328
- await writer.flush();
329
- return exportStoredPartitions(writer.getDir(), options || {});
330
- },
331
- async getPartitionInfo(partition) {
332
- const target = partition == null ? activePartition : sanitizePartitionName(partition);
333
- if (!target)
334
- return null;
335
- return getStoredPartitionInfo(writer.getDir(), target);
336
- },
337
- async getAllLogs(options) {
338
- await writer.flush();
339
- const query = {
340
- ...(options || {}),
341
- levels,
342
- };
343
- if (Object.prototype.hasOwnProperty.call(options || {}, "partition"))
344
- query.partition = options?.partition ?? null;
345
- else if (activePartition)
346
- query.partition = activePartition;
347
- return getLogsForDir(writer.getDir(), query);
348
- },
349
- async getAllLogsAcrossPartitions(options) {
350
- await writer.flush();
351
- return getLogsForDir(writer.getDir(), { ...(options || {}), acrossPartitions: true, levels });
352
- },
353
- async close() {
354
- const cleanupDir = writer.getDir();
355
- unregisterTemporaryPartition();
356
- await writer.close();
357
- await cleanupTemporaryPartitions(cleanupDir);
358
- },
359
- });
360
- api.requestLogger = buildRequestMiddleware(api, cfg.request);
361
- if (cfg.quiet !== true && !packageGreetingShown) {
362
- packageGreetingShown = true;
363
- api.success("logger.initialize", "@trebired/logger initialized");
364
- if (!storageBackendNoticeShown) {
365
- storageBackendNoticeShown = true;
366
- api.info("logger.initialize", activeStorageBackendNotice());
367
- }
368
- }
14
+ const runtime = createCreateLogRuntime(options, sharedState);
15
+ runtime.initializeTemporaryPartitionState();
16
+ const api = createBaseLogApi(runtime);
17
+ attachLogApi(api, runtime);
18
+ maybeShowInitializationNotices(api, runtime, sharedState);
369
19
  return api;
370
20
  }
371
- export { createLog };
21
+ export { createLog, resetCreateLogStateForTests };
372
22
  //# sourceMappingURL=create_log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create_log.js","sourceRoot":"","sources":["../../src/core/create_log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_log.js","sourceRoot":"","sources":["../../src/core/create_log.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,GAAyB;IACxC,oBAAoB,EAAE,KAAK;IAC3B,yBAAyB,EAAE,KAAK;IAChC,8BAA8B,EAAE,IAAI,GAAG,EAAuB;CAC/D,CAAC;AAEF,SAAS,2BAA2B;IAClC,WAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACzC,WAAW,CAAC,yBAAyB,GAAG,KAAK,CAAC;IAC9C,WAAW,CAAC,8BAA8B,CAAC,KAAK,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAC,UAA4B,EAAE;IAC/C,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,CAAC,iCAAiC,EAAE,CAAC;IAE5C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,8BAA8B,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { LogEntry, LogLevelConfig, LogOrigin, RedactOptions } from "../types.js";
1
+ import type { LogEntry, LogLevelConfig, LogOrigin, RedactOptions } from "#tvzweoxg5ahk";
2
2
  declare const DEFAULT_GROUP = "default";
3
3
  type CommonLoggerOptions<TStats> = {
4
4
  levels: Record<string, LogLevelConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGtF,QAAA,MAAM,aAAa,YAAY,CAAC;AAEhC,KAAK,mBAAmB,CAAC,MAAM,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC;IACnE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAc,GAAG,SAAS,CAOzE;AAED,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM;;;;EASlF;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAgBlG;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;;uBAU5C,MAAM,cAAc,OAAO,gBAAgB,OAAO,kBAAkB,OAAO,gBAAgB,OAAO,CAAC,SAAS,CAAC,KAAG,IAAI;EAgG/I;AAED,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAChG,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/core/shared.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGxF,QAAA,MAAM,aAAa,YAAY,CAAC;AAEhC,KAAK,mBAAmB,CAAC,MAAM,IAAI;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC;IACnE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,CAAC;AAEF,iBAAS,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAc,GAAG,SAAS,CAOzE;AAED,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM;;;;EASlF;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAgBlG;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC;;uBAyDxD,MAAM,cACN,OAAO,gBACL,OAAO,kBACL,OAAO,gBACT,OAAO,CAAC,SAAS,CAAC,KAC/B,IAAI;EAlBR;AAmOD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAChG,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
- import { normGroup } from "../groups.js";
2
- import { minLevelWeight, normalizeLevel } from "../levels/index.js";
3
- import { prepareMetadata } from "../metadata/process.js";
4
- import { asObject, toString } from "../utils/values.js";
1
+ import { normGroup } from "#8xmnu037caa7";
2
+ import { minLevelWeight, normalizeLevel } from "#g4tupkl7rvk4";
3
+ import { prepareMetadata } from "#kzmqayr84v3x";
4
+ import { asObject, toString } from "#ycytzc4gr3f7";
5
5
  const DEFAULT_GROUP = "default";
6
6
  function buildOrigin(source, instance = null) {
7
7
  const src = toString(source) || "app";
@@ -50,94 +50,155 @@ function createCommonLogger(options) {
50
50
  const defaultMetadata = asObject(options.defaultMetadata);
51
51
  let enabled = true;
52
52
  let closed = false;
53
- function emit(levelInput, groupInput, messageInput, metadataInput, originInput) {
54
- if (!enabled || closed)
55
- return;
56
- const level = normalizeLevel(levelInput, levels);
57
- const levelConfig = levels[level] || levels.info;
58
- if (levelConfig.weight < threshold)
53
+ const emit = createEmitter({
54
+ defaultGroup,
55
+ defaultMetadata,
56
+ defaultSource,
57
+ enabled: () => enabled,
58
+ closed: () => closed,
59
+ levels,
60
+ options,
61
+ threshold,
62
+ });
63
+ const bindGroup = createGroupBinder({
64
+ defaultGroup,
65
+ defaultSource,
66
+ levels,
67
+ emit,
68
+ });
69
+ const api = createLoggerApi({
70
+ bindGroup,
71
+ defaultGroup,
72
+ defaultSource,
73
+ emit,
74
+ options,
75
+ setClosed(value) {
76
+ closed = value;
77
+ },
78
+ setEnabled(value) {
79
+ enabled = value;
80
+ },
81
+ });
82
+ attachLevelLoggers(api, levels, defaultGroup, emit);
83
+ return {
84
+ api,
85
+ emit,
86
+ };
87
+ }
88
+ function createEmitter(args) {
89
+ return function emit(levelInput, groupInput, messageInput, metadataInput, originInput) {
90
+ if (!args.enabled() || args.closed())
59
91
  return;
60
- const rawMetadata = {
61
- ...defaultMetadata,
62
- ...asObject(metadataInput),
63
- };
64
- const recordedAt = toString(rawMetadata.__recorded_at) || new Date().toISOString();
65
- const metadata = prepareMetadata(rawMetadata, options.serializers, options.redact);
66
- const group = normGroup(groupInput || defaultGroup).key;
67
- const message = typeof messageInput === "string" ? messageInput : String(messageInput ?? "");
68
- const originSource = originInput && originInput.source ? originInput.source : defaultSource;
69
- const originInstance = originInput && Object.prototype.hasOwnProperty.call(originInput, "instance") ? originInput.instance : null;
70
- const entry = {
71
- recorded_at: recordedAt,
72
- level,
73
- group,
74
- message,
75
- origin: buildOrigin(originSource, originInstance),
76
- };
77
- if (typeof options.getPartition === "function")
78
- entry.partition = options.getPartition() ?? null;
79
- if (Object.keys(metadata).length)
80
- entry.metadata = metadata;
81
- if (!shouldKeepSample(entry, options.sample))
92
+ const prepared = prepareEntry({
93
+ defaultGroup: args.defaultGroup,
94
+ defaultMetadata: args.defaultMetadata,
95
+ defaultSource: args.defaultSource,
96
+ groupInput,
97
+ levels: args.levels,
98
+ messageInput,
99
+ metadataInput,
100
+ options: args.options,
101
+ originInput,
102
+ threshold: args.threshold,
103
+ levelInput,
104
+ });
105
+ if (!prepared || !shouldKeepSample(prepared.entry, args.options.sample)) {
82
106
  return;
83
- options.writeEntry(entry, levelConfig);
84
- }
85
- function bindGroup(groupName, originInput, extraMetadata) {
86
- const boundGroup = normGroup(groupName || defaultGroup).key;
107
+ }
108
+ args.options.writeEntry(prepared.entry, prepared.levelConfig);
109
+ };
110
+ }
111
+ function createGroupBinder(args) {
112
+ return function bindGroup(groupName, originInput, extraMetadata) {
113
+ const boundGroup = normGroup(groupName || args.defaultGroup).key;
87
114
  const mergedExtraMetadata = asObject(extraMetadata);
88
115
  const grouped = {};
89
- for (const level of Object.keys(levels)) {
90
- grouped[level] = (message, metadata) => emit(level, boundGroup, message, { ...mergedExtraMetadata, ...asObject(metadata) }, originInput);
116
+ for (const level of Object.keys(args.levels)) {
117
+ grouped[level] = (message, metadata) => args.emit(level, boundGroup, message, { ...mergedExtraMetadata, ...asObject(metadata) }, originInput);
91
118
  }
92
119
  grouped.child = (moreMetadata) => bindGroup(boundGroup, originInput, { ...mergedExtraMetadata, ...asObject(moreMetadata) });
93
120
  return grouped;
94
- }
95
- const api = {
121
+ };
122
+ }
123
+ function createLoggerApi(args) {
124
+ return {
96
125
  group(groupName) {
97
- return bindGroup(groupName || defaultGroup);
126
+ return args.bindGroup(groupName || args.defaultGroup);
98
127
  },
99
128
  withScope(source, groupName, instance) {
100
- const originInput = {
101
- source: toString(source) || defaultSource,
129
+ return args.bindGroup(groupName || args.defaultGroup, {
130
+ source: toString(source) || args.defaultSource,
102
131
  instance: instance == null ? null : String(instance),
103
- };
104
- return bindGroup(groupName || defaultGroup, originInput);
132
+ });
105
133
  },
106
134
  setEnabled(flag) {
107
- enabled = Boolean(flag);
135
+ args.setEnabled(Boolean(flag));
108
136
  },
109
137
  logError(error, metadata, source) {
110
- const meta = asObject(metadata);
111
- const groupName = toString(meta.group) || defaultGroup;
112
- const originSource = toString(source) || defaultSource;
113
- if (error instanceof Error) {
114
- emit("error", groupName, error.message, { ...meta, stack: error.stack }, { source: originSource });
115
- return;
116
- }
117
- emit("error", groupName, String(error), meta, { source: originSource });
138
+ emitLogError(args.emit, error, metadata, source, args.defaultGroup, args.defaultSource);
118
139
  },
119
140
  flush() {
120
- return options.flush();
141
+ return args.options.flush();
121
142
  },
122
143
  async close() {
123
- if (closed)
124
- return;
125
- closed = true;
126
- await options.close();
144
+ args.setClosed(true);
145
+ await args.options.close();
127
146
  },
128
147
  getStats() {
129
- return options.getStats();
148
+ return args.options.getStats();
130
149
  },
131
150
  };
151
+ }
152
+ function emitLogError(emit, error, metadata, source, defaultGroup, defaultSource) {
153
+ const meta = asObject(metadata);
154
+ const groupName = toString(meta.group) || defaultGroup;
155
+ const originSource = toString(source) || defaultSource;
156
+ if (error instanceof Error) {
157
+ emit("error", groupName, error.message, { ...meta, stack: error.stack }, { source: originSource });
158
+ return;
159
+ }
160
+ emit("error", groupName, String(error), meta, { source: originSource });
161
+ }
162
+ function attachLevelLoggers(api, levels, defaultGroup, emit) {
132
163
  for (const level of Object.keys(levels)) {
133
164
  api[level] = function levelLogger() {
134
165
  const parsed = parseCallArguments(arguments, defaultGroup);
135
166
  emit(level, parsed.group, parsed.message, parsed.metadata);
136
167
  };
137
168
  }
169
+ }
170
+ function prepareEntry(args) {
171
+ const level = normalizeLevel(args.levelInput, args.levels);
172
+ const levelConfig = args.levels[level] || args.levels.info;
173
+ if (levelConfig.weight < args.threshold) {
174
+ return null;
175
+ }
176
+ const rawMetadata = {
177
+ ...args.defaultMetadata,
178
+ ...asObject(args.metadataInput),
179
+ };
180
+ const recordedAt = toString(rawMetadata.__recorded_at) || new Date().toISOString();
181
+ const metadata = prepareMetadata(rawMetadata, args.options.serializers, args.options.redact);
182
+ const originSource = args.originInput?.source || args.defaultSource;
183
+ const originInstance = Object.prototype.hasOwnProperty.call(args.originInput || {}, "instance")
184
+ ? args.originInput?.instance
185
+ : null;
186
+ const entry = {
187
+ recorded_at: recordedAt,
188
+ level,
189
+ group: normGroup(args.groupInput || args.defaultGroup).key,
190
+ message: typeof args.messageInput === "string" ? args.messageInput : String(args.messageInput ?? ""),
191
+ origin: buildOrigin(originSource, originInstance),
192
+ };
193
+ if (typeof args.options.getPartition === "function") {
194
+ entry.partition = args.options.getPartition() ?? null;
195
+ }
196
+ if (Object.keys(metadata).length) {
197
+ entry.metadata = metadata;
198
+ }
138
199
  return {
139
- api,
140
- emit,
200
+ entry,
201
+ levelConfig,
141
202
  };
142
203
  }
143
204
  export { DEFAULT_GROUP, buildOrigin, createCommonLogger, parseCallArguments, shouldKeepSample };