devlogs-browser 1.1.4 → 2.0.0
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/build-info.d.ts +111 -0
- package/dist/build-info.test.d.ts +1 -0
- package/dist/devlogs.cjs.js +223 -35
- package/dist/devlogs.cjs.js.map +1 -1
- package/dist/devlogs.esm.js +219 -36
- package/dist/devlogs.esm.js.map +1 -1
- package/dist/devlogs.iife.js +223 -35
- package/dist/devlogs.iife.js.map +1 -1
- package/dist/formatter.d.ts +1 -1
- package/dist/index.d.ts +9 -6
- package/dist/interceptor.d.ts +5 -1
- package/dist/types.d.ts +39 -13
- package/package.json +6 -3
package/dist/devlogs.iife.js
CHANGED
|
@@ -29,16 +29,6 @@ var devlogs = (function (exports) {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
/**
|
|
33
|
-
* Python logging level numbers for compatibility
|
|
34
|
-
*/
|
|
35
|
-
const LEVEL_MAP = {
|
|
36
|
-
debug: 10,
|
|
37
|
-
info: 20,
|
|
38
|
-
log: 20, // Treat console.log as INFO level
|
|
39
|
-
warn: 30,
|
|
40
|
-
error: 40,
|
|
41
|
-
};
|
|
42
32
|
/**
|
|
43
33
|
* Normalize console method name to standard log level
|
|
44
34
|
*/
|
|
@@ -71,41 +61,64 @@ var devlogs = (function (exports) {
|
|
|
71
61
|
.join(' ');
|
|
72
62
|
}
|
|
73
63
|
/**
|
|
74
|
-
* Extract
|
|
64
|
+
* Extract fields from console arguments if an object is provided
|
|
75
65
|
*/
|
|
76
|
-
function
|
|
77
|
-
const
|
|
66
|
+
function extractFields(args, contextFields) {
|
|
67
|
+
const fields = {
|
|
78
68
|
userAgent: navigator.userAgent,
|
|
79
|
-
...
|
|
69
|
+
...contextFields,
|
|
80
70
|
};
|
|
81
|
-
// If last argument is a plain object, merge it as
|
|
71
|
+
// If last argument is a plain object, merge it as fields
|
|
82
72
|
const lastArg = args[args.length - 1];
|
|
83
73
|
if (lastArg &&
|
|
84
74
|
typeof lastArg === 'object' &&
|
|
85
75
|
!Array.isArray(lastArg) &&
|
|
86
76
|
!(lastArg instanceof Error)) {
|
|
87
|
-
Object.assign(
|
|
77
|
+
Object.assign(fields, lastArg);
|
|
88
78
|
}
|
|
89
|
-
return
|
|
79
|
+
return fields;
|
|
90
80
|
}
|
|
91
81
|
/**
|
|
92
|
-
* Format a log entry into the devlogs document schema
|
|
82
|
+
* Format a log entry into the devlogs v2.0 document schema
|
|
93
83
|
*/
|
|
94
84
|
function formatLogDocument(method, args, context) {
|
|
95
|
-
|
|
85
|
+
const fields = extractFields(args, context.fields);
|
|
86
|
+
const doc = {
|
|
96
87
|
doc_type: 'log_entry',
|
|
88
|
+
// Required fields
|
|
89
|
+
application: context.application,
|
|
90
|
+
component: context.component,
|
|
97
91
|
timestamp: new Date().toISOString(),
|
|
98
|
-
level
|
|
99
|
-
levelno: LEVEL_MAP[method],
|
|
100
|
-
logger_name: context.loggerName,
|
|
92
|
+
// Top-level log fields
|
|
101
93
|
message: formatMessage(args),
|
|
102
|
-
|
|
103
|
-
lineno: null,
|
|
104
|
-
funcName: null,
|
|
94
|
+
level: normalizeLevel(method),
|
|
105
95
|
area: context.area,
|
|
96
|
+
// Optional metadata
|
|
106
97
|
operation_id: context.operationId,
|
|
107
|
-
|
|
98
|
+
// Source info
|
|
99
|
+
source: {
|
|
100
|
+
logger: 'browser',
|
|
101
|
+
pathname: context.pathname,
|
|
102
|
+
lineno: null,
|
|
103
|
+
funcName: null,
|
|
104
|
+
},
|
|
105
|
+
// Process info (not applicable in browser)
|
|
106
|
+
process: {
|
|
107
|
+
id: null,
|
|
108
|
+
thread: null,
|
|
109
|
+
},
|
|
108
110
|
};
|
|
111
|
+
// Add optional fields only if set
|
|
112
|
+
if (context.environment) {
|
|
113
|
+
doc.environment = context.environment;
|
|
114
|
+
}
|
|
115
|
+
if (context.version) {
|
|
116
|
+
doc.version = context.version;
|
|
117
|
+
}
|
|
118
|
+
if (Object.keys(fields).length > 0) {
|
|
119
|
+
doc.fields = fields;
|
|
120
|
+
}
|
|
121
|
+
return doc;
|
|
109
122
|
}
|
|
110
123
|
|
|
111
124
|
/**
|
|
@@ -126,11 +139,14 @@ var devlogs = (function (exports) {
|
|
|
126
139
|
* Current logging context - shared across all console calls
|
|
127
140
|
*/
|
|
128
141
|
let currentContext = {
|
|
142
|
+
application: 'unknown',
|
|
143
|
+
component: 'browser',
|
|
129
144
|
area: null,
|
|
130
145
|
operationId: null,
|
|
131
|
-
loggerName: 'browser',
|
|
132
146
|
pathname: typeof window !== 'undefined' ? window.location.pathname : '/',
|
|
133
|
-
|
|
147
|
+
environment: null,
|
|
148
|
+
version: null,
|
|
149
|
+
fields: {},
|
|
134
150
|
};
|
|
135
151
|
/**
|
|
136
152
|
* Get the current logging context
|
|
@@ -157,10 +173,16 @@ var devlogs = (function (exports) {
|
|
|
157
173
|
currentContext.operationId = operationId;
|
|
158
174
|
}
|
|
159
175
|
/**
|
|
160
|
-
* Set custom
|
|
176
|
+
* Set custom fields to include in all logs
|
|
177
|
+
*/
|
|
178
|
+
function setFields(fields) {
|
|
179
|
+
currentContext.fields = fields;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* @deprecated Use setFields instead
|
|
161
183
|
*/
|
|
162
184
|
function setFeatures(features) {
|
|
163
|
-
|
|
185
|
+
setFields(features);
|
|
164
186
|
}
|
|
165
187
|
/**
|
|
166
188
|
* Execute a function with a temporary operation ID
|
|
@@ -242,10 +264,167 @@ var devlogs = (function (exports) {
|
|
|
242
264
|
}
|
|
243
265
|
}
|
|
244
266
|
|
|
267
|
+
/**
|
|
268
|
+
* Build info helper for devlogs browser client.
|
|
269
|
+
*
|
|
270
|
+
* Provides a stable build identifier that applications can use to tag
|
|
271
|
+
* every log entry without requiring git at runtime.
|
|
272
|
+
*/
|
|
273
|
+
/**
|
|
274
|
+
* Format a Date as compact ISO-like UTC timestamp: YYYYMMDDTHHMMSSZ.
|
|
275
|
+
*/
|
|
276
|
+
function formatTimestamp(date) {
|
|
277
|
+
const pad = (n) => n.toString().padStart(2, '0');
|
|
278
|
+
return (date.getUTCFullYear().toString() +
|
|
279
|
+
pad(date.getUTCMonth() + 1) +
|
|
280
|
+
pad(date.getUTCDate()) +
|
|
281
|
+
'T' +
|
|
282
|
+
pad(date.getUTCHours()) +
|
|
283
|
+
pad(date.getUTCMinutes()) +
|
|
284
|
+
pad(date.getUTCSeconds()) +
|
|
285
|
+
'Z');
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Get environment variable value.
|
|
289
|
+
* Uses provided env object, or falls back to globalThis/window if available.
|
|
290
|
+
*/
|
|
291
|
+
function getEnv(name, env) {
|
|
292
|
+
if (env) {
|
|
293
|
+
return env[name];
|
|
294
|
+
}
|
|
295
|
+
// Check for Node.js process.env (with typeof check to avoid ReferenceError in browser)
|
|
296
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
297
|
+
const g = globalThis;
|
|
298
|
+
if (typeof g.process !== 'undefined' && g.process?.env) {
|
|
299
|
+
return g.process.env[name];
|
|
300
|
+
}
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Resolve build information from data, environment, or generate it.
|
|
305
|
+
*
|
|
306
|
+
* Priority order:
|
|
307
|
+
* 1. Environment variable BUILD_ID (if set) takes highest precedence
|
|
308
|
+
* 2. Provided build info data (from file loaded at build time)
|
|
309
|
+
* 3. Environment variables for branch/timestamp
|
|
310
|
+
* 4. Generated values
|
|
311
|
+
*
|
|
312
|
+
* @param options - Configuration options
|
|
313
|
+
* @returns Resolved build info
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* ```ts
|
|
317
|
+
* // With build-time injected data
|
|
318
|
+
* import buildData from './.build.json';
|
|
319
|
+
* const bi = resolveBuildInfo({ data: buildData });
|
|
320
|
+
*
|
|
321
|
+
* // With environment variables (Node.js)
|
|
322
|
+
* const bi = resolveBuildInfo();
|
|
323
|
+
*
|
|
324
|
+
* // With custom env (for testing or browser)
|
|
325
|
+
* const bi = resolveBuildInfo({
|
|
326
|
+
* env: { DEVLOGS_BUILD_ID: 'my-build-123' }
|
|
327
|
+
* });
|
|
328
|
+
* ```
|
|
329
|
+
*/
|
|
330
|
+
function resolveBuildInfo(options = {}) {
|
|
331
|
+
const envPrefix = options.envPrefix ?? 'DEVLOGS_';
|
|
332
|
+
const nowFn = options.nowFn ?? (() => new Date());
|
|
333
|
+
const env = options.env;
|
|
334
|
+
const data = options.data;
|
|
335
|
+
// Environment variable names
|
|
336
|
+
const envBuildId = `${envPrefix}BUILD_ID`;
|
|
337
|
+
const envBranch = `${envPrefix}BRANCH`;
|
|
338
|
+
const envTimestamp = `${envPrefix}BUILD_TIMESTAMP_UTC`;
|
|
339
|
+
// Check for direct BUILD_ID env override (highest precedence)
|
|
340
|
+
const directBuildId = getEnv(envBuildId, env);
|
|
341
|
+
if (directBuildId) {
|
|
342
|
+
const branch = getEnv(envBranch, env) ?? null;
|
|
343
|
+
const timestamp = getEnv(envTimestamp, env) ?? formatTimestamp(nowFn());
|
|
344
|
+
return {
|
|
345
|
+
buildId: directBuildId,
|
|
346
|
+
branch,
|
|
347
|
+
timestampUtc: timestamp,
|
|
348
|
+
source: 'env',
|
|
349
|
+
path: null,
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
// Check provided data (from file loaded at build time)
|
|
353
|
+
if (data && typeof data === 'object' && data.build_id) {
|
|
354
|
+
const branch = getEnv(envBranch, env) ?? data.branch ?? null;
|
|
355
|
+
const timestamp = getEnv(envTimestamp, env) ?? data.timestamp_utc ?? formatTimestamp(nowFn());
|
|
356
|
+
return {
|
|
357
|
+
buildId: data.build_id,
|
|
358
|
+
branch,
|
|
359
|
+
timestampUtc: timestamp,
|
|
360
|
+
source: 'file',
|
|
361
|
+
path: null, // Path not available in browser context
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
// Check if env provides branch and/or timestamp
|
|
365
|
+
const envBranchValue = getEnv(envBranch, env);
|
|
366
|
+
const envTimestampValue = getEnv(envTimestamp, env);
|
|
367
|
+
// Determine branch
|
|
368
|
+
const branch = envBranchValue ?? null;
|
|
369
|
+
// Determine timestamp
|
|
370
|
+
const timestamp = envTimestampValue ?? formatTimestamp(nowFn());
|
|
371
|
+
// Generate build_id
|
|
372
|
+
const branchForId = branch ?? 'unknown';
|
|
373
|
+
const buildId = `${branchForId}-${timestamp}`;
|
|
374
|
+
// Determine source
|
|
375
|
+
const source = envBranchValue || envTimestampValue ? 'env' : 'generated';
|
|
376
|
+
return {
|
|
377
|
+
buildId,
|
|
378
|
+
branch,
|
|
379
|
+
timestampUtc: timestamp,
|
|
380
|
+
source,
|
|
381
|
+
path: null,
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Convenience function that returns only the build_id string.
|
|
386
|
+
*
|
|
387
|
+
* @param options - Configuration options (same as resolveBuildInfo)
|
|
388
|
+
* @returns Non-empty build identifier string
|
|
389
|
+
*/
|
|
390
|
+
function resolveBuildId(options = {}) {
|
|
391
|
+
return resolveBuildInfo(options).buildId;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Create build info data object for writing to .build.json during build.
|
|
395
|
+
*
|
|
396
|
+
* This is a utility for build scripts to generate the build info file.
|
|
397
|
+
*
|
|
398
|
+
* @param options - Configuration options
|
|
399
|
+
* @returns Build info data object suitable for JSON.stringify
|
|
400
|
+
*
|
|
401
|
+
* @example
|
|
402
|
+
* ```ts
|
|
403
|
+
* // In a build script (Node.js)
|
|
404
|
+
* import { createBuildInfoData } from 'devlogs-browser/build-info';
|
|
405
|
+
* import fs from 'fs';
|
|
406
|
+
*
|
|
407
|
+
* const data = createBuildInfoData({ branch: process.env.GITHUB_REF_NAME });
|
|
408
|
+
* fs.writeFileSync('.build.json', JSON.stringify(data, null, 2));
|
|
409
|
+
* ```
|
|
410
|
+
*/
|
|
411
|
+
function createBuildInfoData(options = {}) {
|
|
412
|
+
const nowFn = options.nowFn ?? (() => new Date());
|
|
413
|
+
const branch = options.branch ?? null;
|
|
414
|
+
const timestamp = formatTimestamp(nowFn());
|
|
415
|
+
const branchForId = branch ?? 'unknown';
|
|
416
|
+
const buildId = `${branchForId}-${timestamp}`;
|
|
417
|
+
return {
|
|
418
|
+
build_id: buildId,
|
|
419
|
+
branch: branch ?? undefined,
|
|
420
|
+
timestamp_utc: timestamp,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
|
|
245
424
|
let initialized = false;
|
|
246
425
|
let client = null;
|
|
247
426
|
/**
|
|
248
|
-
* Initialize the devlogs browser client.
|
|
427
|
+
* Initialize the devlogs browser client (v2.0).
|
|
249
428
|
*
|
|
250
429
|
* This intercepts console.log/warn/error/debug/info and forwards
|
|
251
430
|
* all log messages to the OpenSearch index.
|
|
@@ -254,8 +433,9 @@ var devlogs = (function (exports) {
|
|
|
254
433
|
* ```js
|
|
255
434
|
* devlogs.init({
|
|
256
435
|
* url: 'http://admin:admin@localhost:9200',
|
|
257
|
-
*
|
|
258
|
-
*
|
|
436
|
+
* application: 'my-frontend',
|
|
437
|
+
* component: 'dashboard',
|
|
438
|
+
* area: 'ui',
|
|
259
439
|
* });
|
|
260
440
|
*
|
|
261
441
|
* console.log('App started'); // Forwarded to index
|
|
@@ -269,11 +449,14 @@ var devlogs = (function (exports) {
|
|
|
269
449
|
const config = parseDevlogsUrl(options.url, options.index);
|
|
270
450
|
client = new DevlogsOpenSearchClient(config);
|
|
271
451
|
setContext({
|
|
452
|
+
application: options.application,
|
|
453
|
+
component: options.component,
|
|
272
454
|
area: options.area || null,
|
|
273
455
|
operationId: options.operationId || null,
|
|
274
|
-
loggerName: options.loggerName || 'browser',
|
|
275
456
|
pathname: typeof window !== 'undefined' ? window.location.pathname : '/',
|
|
276
|
-
|
|
457
|
+
environment: options.environment || null,
|
|
458
|
+
version: options.version || null,
|
|
459
|
+
fields: {},
|
|
277
460
|
});
|
|
278
461
|
interceptConsole(client);
|
|
279
462
|
initialized = true;
|
|
@@ -296,11 +479,16 @@ var devlogs = (function (exports) {
|
|
|
296
479
|
return initialized;
|
|
297
480
|
}
|
|
298
481
|
|
|
482
|
+
exports.createBuildInfoData = createBuildInfoData;
|
|
299
483
|
exports.destroy = destroy;
|
|
484
|
+
exports.formatTimestamp = formatTimestamp;
|
|
300
485
|
exports.init = init;
|
|
301
486
|
exports.isInitialized = isInitialized;
|
|
487
|
+
exports.resolveBuildId = resolveBuildId;
|
|
488
|
+
exports.resolveBuildInfo = resolveBuildInfo;
|
|
302
489
|
exports.setArea = setArea;
|
|
303
490
|
exports.setFeatures = setFeatures;
|
|
491
|
+
exports.setFields = setFields;
|
|
304
492
|
exports.setOperationId = setOperationId;
|
|
305
493
|
exports.withOperation = withOperation;
|
|
306
494
|
|
package/dist/devlogs.iife.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devlogs.iife.js","sources":["../src/url-parser.ts","../src/formatter.ts","../src/interceptor.ts","../src/client.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":";;;IAEA;;;;;;;;;;;;IAYG;IACG,SAAU,eAAe,CAAC,GAAW,EAAE,KAAc,EAAA;IACzD,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;IAC3B,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAqB;QAEnE,OAAO;YACL,MAAM;IACN,QAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,WAAW;YACpC,IAAI,EAAE,MAAM,CAAC;kBACT,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;IAC1B,eAAG,MAAM,KAAK,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;IACrC,QAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO;IAChC,QAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO;YACpC,KAAK,EAAE,KAAK,IAAI,cAAc;SAC/B;IACH;;IC3BA;;IAEG;IACH,
|
|
1
|
+
{"version":3,"file":"devlogs.iife.js","sources":["../src/url-parser.ts","../src/formatter.ts","../src/interceptor.ts","../src/client.ts","../src/build-info.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/formatter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogContext, LogDocument, ConsoleMethod } from './types';
|
|
2
2
|
/**
|
|
3
|
-
* Format a log entry into the devlogs document schema
|
|
3
|
+
* Format a log entry into the devlogs v2.0 document schema
|
|
4
4
|
*/
|
|
5
5
|
export declare function formatLogDocument(method: ConsoleMethod, args: unknown[], context: LogContext): LogDocument;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DevlogsOptions } from './types';
|
|
2
|
-
import { setArea, setOperationId, setFeatures, withOperation } from './interceptor';
|
|
2
|
+
import { setArea, setOperationId, setFields, setFeatures, withOperation } from './interceptor';
|
|
3
3
|
/**
|
|
4
|
-
* Initialize the devlogs browser client.
|
|
4
|
+
* Initialize the devlogs browser client (v2.0).
|
|
5
5
|
*
|
|
6
6
|
* This intercepts console.log/warn/error/debug/info and forwards
|
|
7
7
|
* all log messages to the OpenSearch index.
|
|
@@ -10,8 +10,9 @@ import { setArea, setOperationId, setFeatures, withOperation } from './intercept
|
|
|
10
10
|
* ```js
|
|
11
11
|
* devlogs.init({
|
|
12
12
|
* url: 'http://admin:admin@localhost:9200',
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* application: 'my-frontend',
|
|
14
|
+
* component: 'dashboard',
|
|
15
|
+
* area: 'ui',
|
|
15
16
|
* });
|
|
16
17
|
*
|
|
17
18
|
* console.log('App started'); // Forwarded to index
|
|
@@ -26,5 +27,7 @@ export declare function destroy(): void;
|
|
|
26
27
|
* Check if devlogs is currently initialized
|
|
27
28
|
*/
|
|
28
29
|
export declare function isInitialized(): boolean;
|
|
29
|
-
export { setArea, setOperationId, setFeatures, withOperation };
|
|
30
|
-
export type { DevlogsOptions, LogContext, LogDocument } from './types';
|
|
30
|
+
export { setArea, setOperationId, setFields, setFeatures, withOperation };
|
|
31
|
+
export type { DevlogsOptions, LogContext, LogDocument, LogSource, LogProcess } from './types';
|
|
32
|
+
export { resolveBuildInfo, resolveBuildId, createBuildInfoData, formatTimestamp, } from './build-info';
|
|
33
|
+
export type { BuildInfo, BuildInfoSource, BuildInfoFile, BuildInfoOptions, } from './build-info';
|
package/dist/interceptor.d.ts
CHANGED
|
@@ -24,7 +24,11 @@ export declare function setArea(area: string | null): void;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function setOperationId(operationId: string | null): void;
|
|
26
26
|
/**
|
|
27
|
-
* Set custom
|
|
27
|
+
* Set custom fields to include in all logs
|
|
28
|
+
*/
|
|
29
|
+
export declare function setFields(fields: Record<string, unknown>): void;
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Use setFields instead
|
|
28
32
|
*/
|
|
29
33
|
export declare function setFeatures(features: Record<string, unknown>): void;
|
|
30
34
|
/**
|
package/dist/types.d.ts
CHANGED
|
@@ -10,46 +10,72 @@ export interface DevlogsConfig {
|
|
|
10
10
|
index: string;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
|
-
* Options for initializing the devlogs client
|
|
13
|
+
* Options for initializing the devlogs client (v2.0)
|
|
14
14
|
*/
|
|
15
15
|
export interface DevlogsOptions {
|
|
16
16
|
/** OpenSearch URL in format: http://user:pass@host:port */
|
|
17
17
|
url: string;
|
|
18
18
|
/** Index name (default: devlogs-0001) */
|
|
19
19
|
index?: string;
|
|
20
|
+
/** Application name (required for v2.0 schema) */
|
|
21
|
+
application: string;
|
|
22
|
+
/** Component name (required for v2.0 schema) */
|
|
23
|
+
component: string;
|
|
20
24
|
/** Application area/subsystem identifier */
|
|
21
25
|
area?: string;
|
|
22
26
|
/** Operation ID for log correlation */
|
|
23
27
|
operationId?: string;
|
|
24
|
-
/**
|
|
25
|
-
|
|
28
|
+
/** Environment (e.g., 'development', 'production') */
|
|
29
|
+
environment?: string;
|
|
30
|
+
/** Application version */
|
|
31
|
+
version?: string;
|
|
26
32
|
}
|
|
27
33
|
/**
|
|
28
34
|
* Current logging context
|
|
29
35
|
*/
|
|
30
36
|
export interface LogContext {
|
|
37
|
+
application: string;
|
|
38
|
+
component: string;
|
|
31
39
|
area: string | null;
|
|
32
40
|
operationId: string | null;
|
|
33
|
-
loggerName: string;
|
|
34
41
|
pathname: string;
|
|
35
|
-
|
|
42
|
+
environment: string | null;
|
|
43
|
+
version: string | null;
|
|
44
|
+
fields: Record<string, unknown>;
|
|
36
45
|
}
|
|
37
46
|
/**
|
|
38
|
-
*
|
|
47
|
+
* Source location info in log document (v2.0)
|
|
48
|
+
*/
|
|
49
|
+
export interface LogSource {
|
|
50
|
+
logger: string;
|
|
51
|
+
pathname: string;
|
|
52
|
+
lineno: number | null;
|
|
53
|
+
funcName: string | null;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Process info in log document (v2.0)
|
|
57
|
+
*/
|
|
58
|
+
export interface LogProcess {
|
|
59
|
+
id: number | null;
|
|
60
|
+
thread: number | null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Log document matching the devlogs v2.0 schema
|
|
39
64
|
*/
|
|
40
65
|
export interface LogDocument {
|
|
41
66
|
doc_type: 'log_entry';
|
|
67
|
+
application: string;
|
|
68
|
+
component: string;
|
|
42
69
|
timestamp: string;
|
|
43
|
-
level: string;
|
|
44
|
-
levelno: number;
|
|
45
|
-
logger_name: string;
|
|
46
70
|
message: string;
|
|
47
|
-
|
|
48
|
-
lineno: number | null;
|
|
49
|
-
funcName: string | null;
|
|
71
|
+
level: string;
|
|
50
72
|
area: string | null;
|
|
73
|
+
environment?: string | null;
|
|
74
|
+
version?: string | null;
|
|
51
75
|
operation_id: string | null;
|
|
52
|
-
|
|
76
|
+
fields?: Record<string, unknown>;
|
|
77
|
+
source: LogSource;
|
|
78
|
+
process: LogProcess;
|
|
53
79
|
}
|
|
54
80
|
/**
|
|
55
81
|
* Console method names that we intercept
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devlogs-browser",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Browser logging library for DevLogs - forwards console logs to OpenSearch",
|
|
6
6
|
"main": "dist/devlogs.cjs.js",
|
|
@@ -13,13 +13,16 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "rollup -c",
|
|
15
15
|
"dev": "rollup -c -w",
|
|
16
|
-
"typecheck": "tsc --noEmit"
|
|
16
|
+
"typecheck": "tsc --noEmit",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest"
|
|
17
19
|
},
|
|
18
20
|
"devDependencies": {
|
|
19
21
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
20
22
|
"rollup": "^4.9.0",
|
|
21
23
|
"tslib": "^2.6.2",
|
|
22
|
-
"typescript": "^5.3.0"
|
|
24
|
+
"typescript": "^5.3.0",
|
|
25
|
+
"vitest": "^1.2.0"
|
|
23
26
|
},
|
|
24
27
|
"keywords": [
|
|
25
28
|
"logging",
|