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.
@@ -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 features from console arguments if an object is provided
64
+ * Extract fields from console arguments if an object is provided
75
65
  */
76
- function extractFeatures(args, contextFeatures) {
77
- const features = {
66
+ function extractFields(args, contextFields) {
67
+ const fields = {
78
68
  userAgent: navigator.userAgent,
79
- ...contextFeatures,
69
+ ...contextFields,
80
70
  };
81
- // If last argument is a plain object, merge it as features
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(features, lastArg);
77
+ Object.assign(fields, lastArg);
88
78
  }
89
- return features;
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
- return {
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: normalizeLevel(method),
99
- levelno: LEVEL_MAP[method],
100
- logger_name: context.loggerName,
92
+ // Top-level log fields
101
93
  message: formatMessage(args),
102
- pathname: context.pathname,
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
- features: extractFeatures(args, context.features),
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
- features: {},
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 features to include in all logs
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
- currentContext.features = features;
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
- * area: 'frontend',
258
- * loggerName: 'my-app'
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
- features: {},
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
 
@@ -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":"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"}
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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"}
@@ -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
- * area: 'frontend',
14
- * loggerName: 'my-app'
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';
@@ -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 features to include in all logs
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
- /** Logger name (default: browser) */
25
- loggerName?: string;
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
- features: Record<string, unknown>;
42
+ environment: string | null;
43
+ version: string | null;
44
+ fields: Record<string, unknown>;
36
45
  }
37
46
  /**
38
- * Log document matching the devlogs schema
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
- pathname: string;
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
- features: Record<string, unknown>;
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": "1.1.4",
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",