voltlog-io 1.0.6 → 1.0.7
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/{client.d.mts → browser/client.d.mts} +1 -9
- package/dist/{client.d.ts → browser/client.d.ts} +1 -9
- package/dist/{client.js → browser/client.js} +155 -196
- package/dist/{client.mjs → browser/client.mjs} +10 -35
- package/dist/index.d.mts +1 -27
- package/dist/index.d.ts +1 -27
- package/dist/index.js +18 -50
- package/dist/index.mjs +16 -54
- package/package.json +7 -6
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
1
|
// src/core/types.ts
|
|
9
2
|
var LogLevel = {
|
|
10
3
|
TRACE: 10,
|
|
@@ -479,26 +472,6 @@ function heapUsageMiddleware(options = {}) {
|
|
|
479
472
|
}
|
|
480
473
|
|
|
481
474
|
// src/middleware/http.ts
|
|
482
|
-
var nodeHttpMappers = {
|
|
483
|
-
req: {
|
|
484
|
-
getMethod: (req) => req.method || "UNKNOWN",
|
|
485
|
-
getUrl: (req) => req.originalUrl || req.url || "/",
|
|
486
|
-
getIp: (req) => req.ip || req.socket?.remoteAddress || req.headers?.["x-forwarded-for"] || void 0,
|
|
487
|
-
getUserAgent: (req) => req.headers?.["user-agent"] || void 0,
|
|
488
|
-
getHeader: (req, name) => req.headers?.[name] || void 0
|
|
489
|
-
},
|
|
490
|
-
res: {
|
|
491
|
-
getStatusCode: (res) => res.statusCode || 200,
|
|
492
|
-
onFinish: (res, callback) => {
|
|
493
|
-
if (typeof res.on === "function") {
|
|
494
|
-
res.on("finish", callback);
|
|
495
|
-
res.on("close", callback);
|
|
496
|
-
} else {
|
|
497
|
-
callback();
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
};
|
|
502
475
|
function createHttpLogger(logger, options) {
|
|
503
476
|
const {
|
|
504
477
|
reqMapper,
|
|
@@ -635,17 +608,20 @@ function ocppMiddleware(options = {}) {
|
|
|
635
608
|
function otelTraceMiddleware(options = {}) {
|
|
636
609
|
let traceApi = options.traceApi ?? null;
|
|
637
610
|
let resolved = !!traceApi;
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
const api = dynamicRequire("@opentelemetry/api");
|
|
611
|
+
let resolvePromise = null;
|
|
612
|
+
function ensureResolved() {
|
|
613
|
+
if (resolved || resolvePromise) return resolvePromise ?? Promise.resolve();
|
|
614
|
+
resolvePromise = import("@opentelemetry/api").then((api) => {
|
|
643
615
|
traceApi = api;
|
|
644
616
|
resolved = true;
|
|
645
|
-
}
|
|
646
|
-
|
|
617
|
+
}).catch(() => {
|
|
618
|
+
resolved = true;
|
|
619
|
+
});
|
|
620
|
+
return resolvePromise;
|
|
647
621
|
}
|
|
648
622
|
return (entry, next) => {
|
|
623
|
+
ensureResolved().catch(() => {
|
|
624
|
+
});
|
|
649
625
|
if (resolved && traceApi?.trace) {
|
|
650
626
|
try {
|
|
651
627
|
const activeSpan = traceApi.trace.getActiveSpan?.();
|
|
@@ -1720,7 +1696,6 @@ export {
|
|
|
1720
1696
|
ipMiddleware,
|
|
1721
1697
|
levelOverrideMiddleware,
|
|
1722
1698
|
lokiTransport,
|
|
1723
|
-
nodeHttpMappers,
|
|
1724
1699
|
ocppMiddleware,
|
|
1725
1700
|
otelTraceMiddleware,
|
|
1726
1701
|
otelTransport,
|
package/dist/index.d.mts
CHANGED
|
@@ -882,32 +882,6 @@ interface BatchTransportOptions {
|
|
|
882
882
|
*/
|
|
883
883
|
declare function batchTransport(inner: Transport, options?: BatchTransportOptions): Transport;
|
|
884
884
|
|
|
885
|
-
/**
|
|
886
|
-
* @module voltlog-io
|
|
887
|
-
* @description Browser stream transformer — writes newline-delimited JSON to a WHATWG WritableStream.
|
|
888
|
-
* @browser-only Depends on WHATWG Streams API (typical in Browsers/Edge).
|
|
889
|
-
* Useful for streaming logs in browser environments (e.g. to `fetch` streams or ServiceWorkers).
|
|
890
|
-
*/
|
|
891
|
-
|
|
892
|
-
interface BrowserJsonStreamTransportOptions {
|
|
893
|
-
/**
|
|
894
|
-
* Writable stream to output to.
|
|
895
|
-
* Must be a standard WHATWG WritableStream (available in modern browsers).
|
|
896
|
-
*/
|
|
897
|
-
stream: WritableStream<string>;
|
|
898
|
-
/** Per-transport level filter */
|
|
899
|
-
level?: LogLevelName;
|
|
900
|
-
/**
|
|
901
|
-
* Custom serializer. Return the string to write.
|
|
902
|
-
* Default: JSON.stringify(entry) + '\n'
|
|
903
|
-
*/
|
|
904
|
-
serializer?: (entry: LogEntry) => string;
|
|
905
|
-
}
|
|
906
|
-
/**
|
|
907
|
-
* Create a JSON stream transport for browsers that writes to a WritableStream.
|
|
908
|
-
*/
|
|
909
|
-
declare function browserJsonStreamTransport(options: BrowserJsonStreamTransportOptions): Transport;
|
|
910
|
-
|
|
911
885
|
/**
|
|
912
886
|
* @module voltlog-io
|
|
913
887
|
* @description Console transformer — writes to `console.log`, `console.error`, etc.
|
|
@@ -1508,4 +1482,4 @@ interface WebhookTransportOptions {
|
|
|
1508
1482
|
*/
|
|
1509
1483
|
declare function webhookTransport(options: WebhookTransportOptions): Transport;
|
|
1510
1484
|
|
|
1511
|
-
export { type AiEnrichmentOptions, type AlertRule, type AsyncContextResult, type BatchTransportOptions, type
|
|
1485
|
+
export { type AiEnrichmentOptions, type AlertRule, type AsyncContextResult, type BatchTransportOptions, type ConsoleTransportOptions, type CorrelationIdOptions, type DatadogTransportOptions, type DeduplicationOptions, type DiscordTransportOptions, type FileTransportOptions, type HttpLoggerOptions, type HttpRequestMapper, type HttpResponseMapper, type JsonStreamTransportOptions, type LevelOverrideOptions, type LogEntry, type LogError, LogLevel, type LogLevelName, LogLevelNameMap, type LogLevelValue, LogLevelValueMap, type LogMiddleware, type Logger, type LoggerOptions, type LokiTransportOptions, type OcppExchangeMeta, type OcppMiddlewareOptions, type OtelTraceMiddlewareOptions, type OtelTransportOptions, type PrettyTransportOptions, type RedactionOptions, type RedisClient, type RedisTransportOptions, type RingBufferQueryOptions, type RingBufferTransport, type RingBufferTransportOptions, type SamplingOptions, type SentryInstance, type SentryTransportOptions, type SlackTransportOptions, type TimerResult, type Transport, type UserAgentOptions, type WebhookTransportOptions, aiEnrichmentMiddleware, alertMiddleware, asyncContextMiddleware, batchTransport, consoleTransport, correlationIdMiddleware, createHttpLogger, createLogger, createMiddleware, createOpenAiErrorAnalyzer, createTransport, datadogTransport, deduplicationMiddleware, discordTransport, fileTransport, heapUsageMiddleware, ipMiddleware, jsonStreamTransport, levelOverrideMiddleware, lokiTransport, nodeHttpMappers, ocppMiddleware, otelTraceMiddleware, otelTransport, prettyTransport, redactionMiddleware, redisTransport, resolveLevel, ringBufferTransport, samplingMiddleware, sentryTransport, shouldIncludeStack, shouldLog, slackTransport, userAgentMiddleware, webhookTransport };
|
package/dist/index.d.ts
CHANGED
|
@@ -882,32 +882,6 @@ interface BatchTransportOptions {
|
|
|
882
882
|
*/
|
|
883
883
|
declare function batchTransport(inner: Transport, options?: BatchTransportOptions): Transport;
|
|
884
884
|
|
|
885
|
-
/**
|
|
886
|
-
* @module voltlog-io
|
|
887
|
-
* @description Browser stream transformer — writes newline-delimited JSON to a WHATWG WritableStream.
|
|
888
|
-
* @browser-only Depends on WHATWG Streams API (typical in Browsers/Edge).
|
|
889
|
-
* Useful for streaming logs in browser environments (e.g. to `fetch` streams or ServiceWorkers).
|
|
890
|
-
*/
|
|
891
|
-
|
|
892
|
-
interface BrowserJsonStreamTransportOptions {
|
|
893
|
-
/**
|
|
894
|
-
* Writable stream to output to.
|
|
895
|
-
* Must be a standard WHATWG WritableStream (available in modern browsers).
|
|
896
|
-
*/
|
|
897
|
-
stream: WritableStream<string>;
|
|
898
|
-
/** Per-transport level filter */
|
|
899
|
-
level?: LogLevelName;
|
|
900
|
-
/**
|
|
901
|
-
* Custom serializer. Return the string to write.
|
|
902
|
-
* Default: JSON.stringify(entry) + '\n'
|
|
903
|
-
*/
|
|
904
|
-
serializer?: (entry: LogEntry) => string;
|
|
905
|
-
}
|
|
906
|
-
/**
|
|
907
|
-
* Create a JSON stream transport for browsers that writes to a WritableStream.
|
|
908
|
-
*/
|
|
909
|
-
declare function browserJsonStreamTransport(options: BrowserJsonStreamTransportOptions): Transport;
|
|
910
|
-
|
|
911
885
|
/**
|
|
912
886
|
* @module voltlog-io
|
|
913
887
|
* @description Console transformer — writes to `console.log`, `console.error`, etc.
|
|
@@ -1508,4 +1482,4 @@ interface WebhookTransportOptions {
|
|
|
1508
1482
|
*/
|
|
1509
1483
|
declare function webhookTransport(options: WebhookTransportOptions): Transport;
|
|
1510
1484
|
|
|
1511
|
-
export { type AiEnrichmentOptions, type AlertRule, type AsyncContextResult, type BatchTransportOptions, type
|
|
1485
|
+
export { type AiEnrichmentOptions, type AlertRule, type AsyncContextResult, type BatchTransportOptions, type ConsoleTransportOptions, type CorrelationIdOptions, type DatadogTransportOptions, type DeduplicationOptions, type DiscordTransportOptions, type FileTransportOptions, type HttpLoggerOptions, type HttpRequestMapper, type HttpResponseMapper, type JsonStreamTransportOptions, type LevelOverrideOptions, type LogEntry, type LogError, LogLevel, type LogLevelName, LogLevelNameMap, type LogLevelValue, LogLevelValueMap, type LogMiddleware, type Logger, type LoggerOptions, type LokiTransportOptions, type OcppExchangeMeta, type OcppMiddlewareOptions, type OtelTraceMiddlewareOptions, type OtelTransportOptions, type PrettyTransportOptions, type RedactionOptions, type RedisClient, type RedisTransportOptions, type RingBufferQueryOptions, type RingBufferTransport, type RingBufferTransportOptions, type SamplingOptions, type SentryInstance, type SentryTransportOptions, type SlackTransportOptions, type TimerResult, type Transport, type UserAgentOptions, type WebhookTransportOptions, aiEnrichmentMiddleware, alertMiddleware, asyncContextMiddleware, batchTransport, consoleTransport, correlationIdMiddleware, createHttpLogger, createLogger, createMiddleware, createOpenAiErrorAnalyzer, createTransport, datadogTransport, deduplicationMiddleware, discordTransport, fileTransport, heapUsageMiddleware, ipMiddleware, jsonStreamTransport, levelOverrideMiddleware, lokiTransport, nodeHttpMappers, ocppMiddleware, otelTraceMiddleware, otelTransport, prettyTransport, redactionMiddleware, redisTransport, resolveLevel, ringBufferTransport, samplingMiddleware, sentryTransport, shouldIncludeStack, shouldLog, slackTransport, userAgentMiddleware, webhookTransport };
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/core/types.ts
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/core/types.ts
|
|
9
2
|
var LogLevel = {
|
|
10
3
|
TRACE: 10,
|
|
11
4
|
DEBUG: 20,
|
|
@@ -460,10 +453,10 @@ function asyncContextMiddleware() {
|
|
|
460
453
|
}
|
|
461
454
|
|
|
462
455
|
// src/middleware/correlation-id.ts
|
|
463
|
-
var
|
|
456
|
+
var _randomUUID = () => globalThis.crypto.randomUUID();
|
|
464
457
|
function correlationIdMiddleware(options = {}) {
|
|
465
458
|
const header = _nullishCoalesce(options.header, () => ( "x-correlation-id"));
|
|
466
|
-
const generate = _nullishCoalesce(options.generator, () => (
|
|
459
|
+
const generate = _nullishCoalesce(options.generator, () => ( _randomUUID));
|
|
467
460
|
return (entry, next) => {
|
|
468
461
|
if (entry.correlationId) {
|
|
469
462
|
return next(entry);
|
|
@@ -695,17 +688,20 @@ function ocppMiddleware(options = {}) {
|
|
|
695
688
|
function otelTraceMiddleware(options = {}) {
|
|
696
689
|
let traceApi = _nullishCoalesce(options.traceApi, () => ( null));
|
|
697
690
|
let resolved = !!traceApi;
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
const api = dynamicRequire("@opentelemetry/api");
|
|
691
|
+
let resolvePromise = null;
|
|
692
|
+
function ensureResolved() {
|
|
693
|
+
if (resolved || resolvePromise) return _nullishCoalesce(resolvePromise, () => ( Promise.resolve()));
|
|
694
|
+
resolvePromise = Promise.resolve().then(() => _interopRequireWildcard(require("@opentelemetry/api"))).then((api) => {
|
|
703
695
|
traceApi = api;
|
|
704
696
|
resolved = true;
|
|
705
|
-
}
|
|
706
|
-
|
|
697
|
+
}).catch(() => {
|
|
698
|
+
resolved = true;
|
|
699
|
+
});
|
|
700
|
+
return resolvePromise;
|
|
707
701
|
}
|
|
708
702
|
return (entry, next) => {
|
|
703
|
+
ensureResolved().catch(() => {
|
|
704
|
+
});
|
|
709
705
|
if (resolved && _optionalChain([traceApi, 'optionalAccess', _26 => _26.trace])) {
|
|
710
706
|
try {
|
|
711
707
|
const activeSpan = _optionalChain([traceApi, 'access', _27 => _27.trace, 'access', _28 => _28.getActiveSpan, 'optionalCall', _29 => _29()]);
|
|
@@ -721,7 +717,7 @@ function otelTraceMiddleware(options = {}) {
|
|
|
721
717
|
}
|
|
722
718
|
}
|
|
723
719
|
}
|
|
724
|
-
} catch (
|
|
720
|
+
} catch (e6) {
|
|
725
721
|
}
|
|
726
722
|
}
|
|
727
723
|
next(entry);
|
|
@@ -860,7 +856,7 @@ function batchTransport(inner, options = {}) {
|
|
|
860
856
|
result.catch(() => {
|
|
861
857
|
});
|
|
862
858
|
}
|
|
863
|
-
} catch (
|
|
859
|
+
} catch (e7) {
|
|
864
860
|
}
|
|
865
861
|
}
|
|
866
862
|
}
|
|
@@ -890,33 +886,6 @@ function batchTransport(inner, options = {}) {
|
|
|
890
886
|
};
|
|
891
887
|
}
|
|
892
888
|
|
|
893
|
-
// src/transports/browser-json-stream.ts
|
|
894
|
-
function browserJsonStreamTransport(options) {
|
|
895
|
-
const stream = options.stream;
|
|
896
|
-
const writer = stream.getWriter();
|
|
897
|
-
const serialize = _nullishCoalesce(options.serializer, () => ( ((entry) => `${JSON.stringify(entry)}
|
|
898
|
-
`)));
|
|
899
|
-
return {
|
|
900
|
-
name: "browser-stream",
|
|
901
|
-
level: options.level,
|
|
902
|
-
async write(entry) {
|
|
903
|
-
try {
|
|
904
|
-
const data = serialize(entry);
|
|
905
|
-
await writer.ready;
|
|
906
|
-
await writer.write(data);
|
|
907
|
-
} catch (err) {
|
|
908
|
-
console.error("[voltlog] Failed to write to browser stream", err);
|
|
909
|
-
}
|
|
910
|
-
},
|
|
911
|
-
async close() {
|
|
912
|
-
try {
|
|
913
|
-
await writer.close();
|
|
914
|
-
} catch (_err) {
|
|
915
|
-
}
|
|
916
|
-
}
|
|
917
|
-
};
|
|
918
|
-
}
|
|
919
|
-
|
|
920
889
|
// src/transports/console.ts
|
|
921
890
|
function consoleTransport(options = {}) {
|
|
922
891
|
const useConsoleLevels = _nullishCoalesce(options.useConsoleLevels, () => ( true));
|
|
@@ -1103,7 +1072,7 @@ function fileTransport(options) {
|
|
|
1103
1072
|
try {
|
|
1104
1073
|
const stat = _fs2.default.statSync(filePath);
|
|
1105
1074
|
currentSize = stat.size;
|
|
1106
|
-
} catch (
|
|
1075
|
+
} catch (e8) {
|
|
1107
1076
|
}
|
|
1108
1077
|
currentStream.on("error", (err) => {
|
|
1109
1078
|
console.error(`[voltlog] File write error to ${filePath}:`, err);
|
|
@@ -1861,7 +1830,7 @@ function webhookTransport(options) {
|
|
|
1861
1830
|
await new Promise((r) => setTimeout(r, delay));
|
|
1862
1831
|
return sendBatch(entries, attempt + 1);
|
|
1863
1832
|
}
|
|
1864
|
-
} catch (
|
|
1833
|
+
} catch (e9) {
|
|
1865
1834
|
if (retry && attempt < maxRetries) {
|
|
1866
1835
|
const delay = Math.min(1e3 * 2 ** attempt, 3e4);
|
|
1867
1836
|
await new Promise((r) => setTimeout(r, delay));
|
|
@@ -1950,6 +1919,5 @@ function webhookTransport(options) {
|
|
|
1950
1919
|
|
|
1951
1920
|
|
|
1952
1921
|
|
|
1953
|
-
|
|
1954
|
-
exports.LogLevel = LogLevel; exports.LogLevelNameMap = LogLevelNameMap; exports.LogLevelValueMap = LogLevelValueMap; exports.aiEnrichmentMiddleware = aiEnrichmentMiddleware; exports.alertMiddleware = alertMiddleware; exports.asyncContextMiddleware = asyncContextMiddleware; exports.batchTransport = batchTransport; exports.browserJsonStreamTransport = browserJsonStreamTransport; exports.consoleTransport = consoleTransport; exports.correlationIdMiddleware = correlationIdMiddleware; exports.createHttpLogger = createHttpLogger; exports.createLogger = createLogger; exports.createMiddleware = createMiddleware; exports.createOpenAiErrorAnalyzer = createOpenAiErrorAnalyzer; exports.createTransport = createTransport; exports.datadogTransport = datadogTransport; exports.deduplicationMiddleware = deduplicationMiddleware; exports.discordTransport = discordTransport; exports.fileTransport = fileTransport; exports.heapUsageMiddleware = heapUsageMiddleware; exports.ipMiddleware = ipMiddleware; exports.jsonStreamTransport = jsonStreamTransport; exports.levelOverrideMiddleware = levelOverrideMiddleware; exports.lokiTransport = lokiTransport; exports.nodeHttpMappers = nodeHttpMappers; exports.ocppMiddleware = ocppMiddleware; exports.otelTraceMiddleware = otelTraceMiddleware; exports.otelTransport = otelTransport; exports.prettyTransport = prettyTransport; exports.redactionMiddleware = redactionMiddleware; exports.redisTransport = redisTransport; exports.resolveLevel = resolveLevel; exports.ringBufferTransport = ringBufferTransport; exports.samplingMiddleware = samplingMiddleware; exports.sentryTransport = sentryTransport; exports.shouldIncludeStack = shouldIncludeStack; exports.shouldLog = shouldLog; exports.slackTransport = slackTransport; exports.userAgentMiddleware = userAgentMiddleware; exports.webhookTransport = webhookTransport;
|
|
1922
|
+
exports.LogLevel = LogLevel; exports.LogLevelNameMap = LogLevelNameMap; exports.LogLevelValueMap = LogLevelValueMap; exports.aiEnrichmentMiddleware = aiEnrichmentMiddleware; exports.alertMiddleware = alertMiddleware; exports.asyncContextMiddleware = asyncContextMiddleware; exports.batchTransport = batchTransport; exports.consoleTransport = consoleTransport; exports.correlationIdMiddleware = correlationIdMiddleware; exports.createHttpLogger = createHttpLogger; exports.createLogger = createLogger; exports.createMiddleware = createMiddleware; exports.createOpenAiErrorAnalyzer = createOpenAiErrorAnalyzer; exports.createTransport = createTransport; exports.datadogTransport = datadogTransport; exports.deduplicationMiddleware = deduplicationMiddleware; exports.discordTransport = discordTransport; exports.fileTransport = fileTransport; exports.heapUsageMiddleware = heapUsageMiddleware; exports.ipMiddleware = ipMiddleware; exports.jsonStreamTransport = jsonStreamTransport; exports.levelOverrideMiddleware = levelOverrideMiddleware; exports.lokiTransport = lokiTransport; exports.nodeHttpMappers = nodeHttpMappers; exports.ocppMiddleware = ocppMiddleware; exports.otelTraceMiddleware = otelTraceMiddleware; exports.otelTransport = otelTransport; exports.prettyTransport = prettyTransport; exports.redactionMiddleware = redactionMiddleware; exports.redisTransport = redisTransport; exports.resolveLevel = resolveLevel; exports.ringBufferTransport = ringBufferTransport; exports.samplingMiddleware = samplingMiddleware; exports.sentryTransport = sentryTransport; exports.shouldIncludeStack = shouldIncludeStack; exports.shouldLog = shouldLog; exports.slackTransport = slackTransport; exports.userAgentMiddleware = userAgentMiddleware; exports.webhookTransport = webhookTransport;
|
|
1955
1923
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// node_modules/tsup/assets/esm_shims.js
|
|
9
|
-
import path from "path";
|
|
10
|
-
import { fileURLToPath } from "url";
|
|
11
|
-
var getFilename = () => fileURLToPath(import.meta.url);
|
|
12
|
-
var __filename = /* @__PURE__ */ getFilename();
|
|
13
|
-
|
|
14
1
|
// src/core/types.ts
|
|
15
2
|
var LogLevel = {
|
|
16
3
|
TRACE: 10,
|
|
@@ -466,10 +453,10 @@ function asyncContextMiddleware() {
|
|
|
466
453
|
}
|
|
467
454
|
|
|
468
455
|
// src/middleware/correlation-id.ts
|
|
469
|
-
|
|
456
|
+
var _randomUUID = () => globalThis.crypto.randomUUID();
|
|
470
457
|
function correlationIdMiddleware(options = {}) {
|
|
471
458
|
const header = options.header ?? "x-correlation-id";
|
|
472
|
-
const generate = options.generator ??
|
|
459
|
+
const generate = options.generator ?? _randomUUID;
|
|
473
460
|
return (entry, next) => {
|
|
474
461
|
if (entry.correlationId) {
|
|
475
462
|
return next(entry);
|
|
@@ -701,17 +688,20 @@ function ocppMiddleware(options = {}) {
|
|
|
701
688
|
function otelTraceMiddleware(options = {}) {
|
|
702
689
|
let traceApi = options.traceApi ?? null;
|
|
703
690
|
let resolved = !!traceApi;
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
const api = dynamicRequire("@opentelemetry/api");
|
|
691
|
+
let resolvePromise = null;
|
|
692
|
+
function ensureResolved() {
|
|
693
|
+
if (resolved || resolvePromise) return resolvePromise ?? Promise.resolve();
|
|
694
|
+
resolvePromise = import("@opentelemetry/api").then((api) => {
|
|
709
695
|
traceApi = api;
|
|
710
696
|
resolved = true;
|
|
711
|
-
}
|
|
712
|
-
|
|
697
|
+
}).catch(() => {
|
|
698
|
+
resolved = true;
|
|
699
|
+
});
|
|
700
|
+
return resolvePromise;
|
|
713
701
|
}
|
|
714
702
|
return (entry, next) => {
|
|
703
|
+
ensureResolved().catch(() => {
|
|
704
|
+
});
|
|
715
705
|
if (resolved && traceApi?.trace) {
|
|
716
706
|
try {
|
|
717
707
|
const activeSpan = traceApi.trace.getActiveSpan?.();
|
|
@@ -896,33 +886,6 @@ function batchTransport(inner, options = {}) {
|
|
|
896
886
|
};
|
|
897
887
|
}
|
|
898
888
|
|
|
899
|
-
// src/transports/browser-json-stream.ts
|
|
900
|
-
function browserJsonStreamTransport(options) {
|
|
901
|
-
const stream = options.stream;
|
|
902
|
-
const writer = stream.getWriter();
|
|
903
|
-
const serialize = options.serializer ?? ((entry) => `${JSON.stringify(entry)}
|
|
904
|
-
`);
|
|
905
|
-
return {
|
|
906
|
-
name: "browser-stream",
|
|
907
|
-
level: options.level,
|
|
908
|
-
async write(entry) {
|
|
909
|
-
try {
|
|
910
|
-
const data = serialize(entry);
|
|
911
|
-
await writer.ready;
|
|
912
|
-
await writer.write(data);
|
|
913
|
-
} catch (err) {
|
|
914
|
-
console.error("[voltlog] Failed to write to browser stream", err);
|
|
915
|
-
}
|
|
916
|
-
},
|
|
917
|
-
async close() {
|
|
918
|
-
try {
|
|
919
|
-
await writer.close();
|
|
920
|
-
} catch (_err) {
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
};
|
|
924
|
-
}
|
|
925
|
-
|
|
926
889
|
// src/transports/console.ts
|
|
927
890
|
function consoleTransport(options = {}) {
|
|
928
891
|
const useConsoleLevels = options.useConsoleLevels ?? true;
|
|
@@ -1066,7 +1029,7 @@ function getLevelColor(level) {
|
|
|
1066
1029
|
|
|
1067
1030
|
// src/transports/file.ts
|
|
1068
1031
|
import fs from "fs";
|
|
1069
|
-
import
|
|
1032
|
+
import path from "path";
|
|
1070
1033
|
function fileTransport(options) {
|
|
1071
1034
|
const { dir, level, maxSize } = options;
|
|
1072
1035
|
const filenamePattern = options.filename ?? "app-%DATE%.log";
|
|
@@ -1093,11 +1056,11 @@ function fileTransport(options) {
|
|
|
1093
1056
|
const dateStr = getCachedDate();
|
|
1094
1057
|
const filename = filenamePattern.replace("%DATE%", dateStr);
|
|
1095
1058
|
if (sizeRotation && rotationIndex > 0) {
|
|
1096
|
-
const ext =
|
|
1059
|
+
const ext = path.extname(filename);
|
|
1097
1060
|
const base = filename.slice(0, -ext.length || void 0);
|
|
1098
|
-
return
|
|
1061
|
+
return path.join(dir, `${base}.${rotationIndex}${ext}`);
|
|
1099
1062
|
}
|
|
1100
|
-
return
|
|
1063
|
+
return path.join(dir, filename);
|
|
1101
1064
|
}
|
|
1102
1065
|
function openStream(filePath) {
|
|
1103
1066
|
if (currentStream) {
|
|
@@ -1924,7 +1887,6 @@ export {
|
|
|
1924
1887
|
alertMiddleware,
|
|
1925
1888
|
asyncContextMiddleware,
|
|
1926
1889
|
batchTransport,
|
|
1927
|
-
browserJsonStreamTransport,
|
|
1928
1890
|
consoleTransport,
|
|
1929
1891
|
correlationIdMiddleware,
|
|
1930
1892
|
createHttpLogger,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "voltlog-io",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Structured logger for real-time infrastructure — lightweight, type-safe, OCPP-aware. Works standalone or with ocpp-ws-io.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"module": "dist/index.mjs",
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
|
-
"browser": "./dist/client.js",
|
|
12
|
+
"browser": "./dist/browser/client.js",
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
"require": "./dist/index.js"
|
|
18
18
|
},
|
|
19
19
|
"./client": {
|
|
20
|
-
"types": "./dist/client.d.ts",
|
|
21
|
-
"import": "./dist/client.mjs",
|
|
22
|
-
"require": "./dist/client.js"
|
|
20
|
+
"types": "./dist/browser/client.d.ts",
|
|
21
|
+
"import": "./dist/browser/client.mjs",
|
|
22
|
+
"require": "./dist/browser/client.js"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
},
|
|
65
65
|
"license": "MIT",
|
|
66
66
|
"files": [
|
|
67
|
-
"dist"
|
|
67
|
+
"dist",
|
|
68
|
+
"!dist/**/*.map"
|
|
68
69
|
],
|
|
69
70
|
"devDependencies": {
|
|
70
71
|
"@biomejs/biome": "^2.4.4",
|