evlog 2.16.0 → 2.17.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/README.md +7 -7
- package/dist/adapters/axiom.d.mts +1 -1
- package/dist/adapters/axiom.mjs +4 -2
- package/dist/adapters/axiom.mjs.map +1 -1
- package/dist/adapters/better-stack.d.mts +1 -1
- package/dist/adapters/better-stack.mjs +4 -2
- package/dist/adapters/better-stack.mjs.map +1 -1
- package/dist/adapters/datadog.d.mts +1 -1
- package/dist/adapters/datadog.mjs +4 -2
- package/dist/adapters/datadog.mjs.map +1 -1
- package/dist/adapters/fs.d.mts +64 -2
- package/dist/adapters/fs.d.mts.map +1 -1
- package/dist/adapters/fs.mjs +222 -3
- package/dist/adapters/fs.mjs.map +1 -1
- package/dist/adapters/hyperdx.d.mts +1 -1
- package/dist/adapters/hyperdx.mjs +1 -1
- package/dist/adapters/otlp.d.mts +1 -1
- package/dist/adapters/otlp.mjs +6 -4
- package/dist/adapters/otlp.mjs.map +1 -1
- package/dist/adapters/posthog.d.mts +1 -1
- package/dist/adapters/posthog.mjs +4 -2
- package/dist/adapters/posthog.mjs.map +1 -1
- package/dist/adapters/sentry.d.mts +1 -1
- package/dist/adapters/sentry.mjs +5 -3
- package/dist/adapters/sentry.mjs.map +1 -1
- package/dist/ai/index.d.mts +1 -1
- package/dist/{audit-X1uUukm3.d.mts → audit-CC8nfazi.d.mts} +56 -5
- package/dist/{audit-X1uUukm3.d.mts.map → audit-CC8nfazi.d.mts.map} +1 -1
- package/dist/better-auth/index.d.mts +14 -7
- package/dist/better-auth/index.d.mts.map +1 -1
- package/dist/better-auth/index.mjs +11 -1
- package/dist/better-auth/index.mjs.map +1 -1
- package/dist/browser.d.mts +1 -1
- package/dist/{define-CuXOqecD.d.mts → define-MSdhzmXn.d.mts} +3 -3
- package/dist/{define-CuXOqecD.d.mts.map → define-MSdhzmXn.d.mts.map} +1 -1
- package/dist/{dist-BIlS38vi.mjs → dist-H3GIh-KK.mjs} +1 -1
- package/dist/{dist-BIlS38vi.mjs.map → dist-H3GIh-KK.mjs.map} +1 -1
- package/dist/{drain-ByWUeOQC.mjs → drain-X7_5szSI.mjs} +6 -49
- package/dist/drain-X7_5szSI.mjs.map +1 -0
- package/dist/elysia/index.d.mts +2 -2
- package/dist/elysia/index.mjs +2 -2
- package/dist/{enricher-DYTr9I16.d.mts → enricher-DxgML6IC.d.mts} +2 -2
- package/dist/{enricher-DYTr9I16.d.mts.map → enricher-DxgML6IC.d.mts.map} +1 -1
- package/dist/{enricher-Dy06T17G.mjs → enricher-N0erZS87.mjs} +2 -2
- package/dist/{enricher-Dy06T17G.mjs.map → enricher-N0erZS87.mjs.map} +1 -1
- package/dist/enrichers.d.mts +2 -2
- package/dist/enrichers.mjs +1 -1
- package/dist/{error-Cpc7RVz6.d.mts → error-CpbbtyXL.d.mts} +2 -2
- package/dist/{error-Cpc7RVz6.d.mts.map → error-CpbbtyXL.d.mts.map} +1 -1
- package/dist/error.d.mts +1 -1
- package/dist/{errors-prnQ3kES.d.mts → errors-DySW1F9_.d.mts} +2 -2
- package/dist/{errors-prnQ3kES.d.mts.map → errors-DySW1F9_.d.mts.map} +1 -1
- package/dist/{event-DcHmEm3O.mjs → event-1BMl7o0k.mjs} +1 -1
- package/dist/{event-DcHmEm3O.mjs.map → event-1BMl7o0k.mjs.map} +1 -1
- package/dist/express/index.d.mts +2 -2
- package/dist/express/index.d.mts.map +1 -1
- package/dist/express/index.mjs +5 -6
- package/dist/express/index.mjs.map +1 -1
- package/dist/fastify/index.d.mts +2 -2
- package/dist/fastify/index.mjs +2 -2
- package/dist/{fork-DPN8aL8O.mjs → fork-8u_zFOJq.mjs} +2 -2
- package/dist/{fork-DPN8aL8O.mjs.map → fork-8u_zFOJq.mjs.map} +1 -1
- package/dist/hono/index.d.mts +2 -2
- package/dist/hono/index.mjs +1 -1
- package/dist/http-6umVAKDW.mjs +82 -0
- package/dist/http-6umVAKDW.mjs.map +1 -0
- package/dist/http.d.mts +1 -1
- package/dist/http.mjs +1 -0
- package/dist/http.mjs.map +1 -1
- package/dist/index-o1_z4phv.d.mts +213 -0
- package/dist/index-o1_z4phv.d.mts.map +1 -0
- package/dist/index.d.mts +9 -8
- package/dist/index.mjs +209 -1
- package/dist/index.mjs.map +1 -0
- package/dist/{integration-DSZPbI9N.mjs → integration-DTZtjSqh.mjs} +2 -2
- package/dist/{integration-DSZPbI9N.mjs.map → integration-DTZtjSqh.mjs.map} +1 -1
- package/dist/{logger-U8lgdc9x.d.mts → logger-DntcxxHg.d.mts} +2 -2
- package/dist/{logger-U8lgdc9x.d.mts.map → logger-DntcxxHg.d.mts.map} +1 -1
- package/dist/logger.d.mts +1 -1
- package/dist/{middleware-CAQHJRN1.d.mts → middleware-U-lIAzHg.d.mts} +2 -2
- package/dist/{middleware-CAQHJRN1.d.mts.map → middleware-U-lIAzHg.d.mts.map} +1 -1
- package/dist/nestjs/index.d.mts +2 -2
- package/dist/nestjs/index.d.mts.map +1 -1
- package/dist/nestjs/index.mjs +4 -5
- package/dist/nestjs/index.mjs.map +1 -1
- package/dist/next/client.d.mts +1 -1
- package/dist/next/index.d.mts +4 -4
- package/dist/next/index.mjs +2 -2
- package/dist/next/instrumentation.d.mts +1 -1
- package/dist/next/stream.d.mts +29 -0
- package/dist/next/stream.d.mts.map +1 -0
- package/dist/next/stream.mjs +78 -0
- package/dist/next/stream.mjs.map +1 -0
- package/dist/nitro/errorHandler.mjs +1 -1
- package/dist/nitro/module.d.mts +2 -2
- package/dist/nitro/plugin.mjs +11 -2
- package/dist/nitro/plugin.mjs.map +1 -1
- package/dist/nitro/v3/errorHandler.mjs +2 -2
- package/dist/nitro/v3/index.d.mts +2 -2
- package/dist/nitro/v3/module.d.mts +1 -1
- package/dist/nitro/v3/plugin.mjs +3 -3
- package/dist/nitro/v3/useLogger.d.mts +1 -1
- package/dist/{nitro-DavLelNz.mjs → nitro-DErMq_Zj.mjs} +1 -1
- package/dist/{nitro-DavLelNz.mjs.map → nitro-DErMq_Zj.mjs.map} +1 -1
- package/dist/{nitro-C6Bd682U.d.mts → nitro-oZre8ab3.d.mts} +2 -2
- package/dist/{nitro-C6Bd682U.d.mts.map → nitro-oZre8ab3.d.mts.map} +1 -1
- package/dist/{nitroConfigBridge-aZ1e5upQ.mjs → nitroConfigBridge-DKk7eOn-.mjs} +1 -1
- package/dist/{nitroConfigBridge-aZ1e5upQ.mjs.map → nitroConfigBridge-DKk7eOn-.mjs.map} +1 -1
- package/dist/nodeResponse-BkkionWl.mjs +42 -0
- package/dist/nodeResponse-BkkionWl.mjs.map +1 -0
- package/dist/nuxt/module.d.mts +28 -1
- package/dist/nuxt/module.d.mts.map +1 -1
- package/dist/nuxt/module.mjs +11 -4
- package/dist/nuxt/module.mjs.map +1 -1
- package/dist/package-v_MmOZeA.mjs +7 -0
- package/dist/package-v_MmOZeA.mjs.map +1 -0
- package/dist/{parseError-B-dKF6Fd.d.mts → parseError-yVZ58wIK.d.mts} +2 -2
- package/dist/parseError-yVZ58wIK.d.mts.map +1 -0
- package/dist/react-router/index.d.mts +2 -2
- package/dist/react-router/index.mjs +2 -2
- package/dist/{routes-B48wm7Pb.mjs → routes-CnIgYWf8.mjs} +1 -1
- package/dist/{routes-B48wm7Pb.mjs.map → routes-CnIgYWf8.mjs.map} +1 -1
- package/dist/runtime/client/log.d.mts +1 -1
- package/dist/runtime/server/routes/_evlog/stream-info.get.d.mts +18 -0
- package/dist/runtime/server/routes/_evlog/stream-info.get.d.mts.map +1 -0
- package/dist/runtime/server/routes/_evlog/stream-info.get.mjs +28 -0
- package/dist/runtime/server/routes/_evlog/stream-info.get.mjs.map +1 -0
- package/dist/runtime/server/useLogger.d.mts +1 -1
- package/dist/runtime/utils/parseError.d.mts +2 -2
- package/dist/{severity-BYWZ96Sb.mjs → severity-R5Egq3qz.mjs} +1 -1
- package/dist/{severity-BYWZ96Sb.mjs.map → severity-R5Egq3qz.mjs.map} +1 -1
- package/dist/{storage-BT-3fT1-.mjs → storage-Dwinmg8P.mjs} +1 -1
- package/dist/{storage-BT-3fT1-.mjs.map → storage-Dwinmg8P.mjs.map} +1 -1
- package/dist/stream.d.mts +185 -0
- package/dist/stream.d.mts.map +1 -0
- package/dist/stream.mjs +374 -0
- package/dist/stream.mjs.map +1 -0
- package/dist/sveltekit/index.d.mts +2 -2
- package/dist/sveltekit/index.mjs +3 -3
- package/dist/toolkit.d.mts +42 -7
- package/dist/toolkit.d.mts.map +1 -1
- package/dist/toolkit.mjs +10 -9
- package/dist/types.d.mts +2 -2
- package/dist/{useLogger-CoNgTjp5.d.mts → useLogger-BsPL4AQm.d.mts} +2 -2
- package/dist/{useLogger-CoNgTjp5.d.mts.map → useLogger-BsPL4AQm.d.mts.map} +1 -1
- package/dist/{utils-Db4qhBWn.d.mts → utils-DLCeShxL.d.mts} +2 -2
- package/dist/{utils-Db4qhBWn.d.mts.map → utils-DLCeShxL.d.mts.map} +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/vite/index.d.mts +1 -1
- package/dist/workers.d.mts +1 -1
- package/package.json +17 -1
- package/dist/drain-ByWUeOQC.mjs.map +0 -1
- package/dist/parseError-B-dKF6Fd.d.mts.map +0 -1
package/dist/toolkit.d.mts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as resolveMiddlewarePluginRunner, i as createMiddlewareLogger, n as MiddlewareLoggerOptions, o as runEnrichAndDrain, r as MiddlewareLoggerResult, t as BaseEvlogOptions } from "./middleware-
|
|
3
|
-
import { i as toMiddlewareOptions, n as defineEvlog, r as toLoggerConfig, t as EvlogConfig } from "./define-
|
|
4
|
-
import { n as EnricherOptions, r as defineEnricher, t as EnricherDefinition } from "./enricher-
|
|
5
|
-
import { n as getServiceForPath, r as shouldLog, t as extractErrorStatus } from "./errors-
|
|
1
|
+
import { $ as RequestLogger, I as DrainContext, K as LogLevel, L as EnrichContext, _t as drainPlugin, ct as WideEvent, dt as PluginRunner, ft as PluginSetupContext, gt as definePlugin, ht as createPluginRunner, lt as ClientLogContext, mt as RequestLifecycleContext, ot as TailSamplingContext, pt as RequestFinishContext, ut as EvlogPlugin, vt as enricherPlugin, yt as getEmptyPluginRunner } from "./audit-CC8nfazi.mjs";
|
|
2
|
+
import { a as resolveMiddlewarePluginRunner, i as createMiddlewareLogger, n as MiddlewareLoggerOptions, o as runEnrichAndDrain, r as MiddlewareLoggerResult, t as BaseEvlogOptions } from "./middleware-U-lIAzHg.mjs";
|
|
3
|
+
import { i as toMiddlewareOptions, n as defineEvlog, r as toLoggerConfig, t as EvlogConfig } from "./define-MSdhzmXn.mjs";
|
|
4
|
+
import { n as EnricherOptions, r as defineEnricher, t as EnricherDefinition } from "./enricher-DxgML6IC.mjs";
|
|
5
|
+
import { n as getServiceForPath, r as shouldLog, t as extractErrorStatus } from "./errors-DySW1F9_.mjs";
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
7
7
|
|
|
8
8
|
//#region src/shared/compose.d.ts
|
|
@@ -214,7 +214,15 @@ declare function normalizeNumber(value: string | undefined): number | undefined;
|
|
|
214
214
|
/**
|
|
215
215
|
* Minimal HTTP transport for drain adapters: abort-based timeouts, exponential
|
|
216
216
|
* backoff on `5xx` / network errors, response bodies truncated in error messages.
|
|
217
|
+
*
|
|
218
|
+
* Identifies every outgoing request as coming from evlog via:
|
|
219
|
+
* - `User-Agent: evlog/<version>` (Node / server runtimes only — browsers strip this)
|
|
220
|
+
* - `X-Evlog-Source: <source>` when {@link HttpPostOptions.source} is set
|
|
217
221
|
*/
|
|
222
|
+
/** Build-time evlog package version, e.g. `2.16.0`. */
|
|
223
|
+
declare const EVLOG_VERSION: string;
|
|
224
|
+
/** Default `User-Agent` value injected into outgoing drain requests. */
|
|
225
|
+
declare const EVLOG_USER_AGENT: string;
|
|
218
226
|
interface HttpPostOptions {
|
|
219
227
|
url: string;
|
|
220
228
|
/** Caller is responsible for `Content-Type`. */
|
|
@@ -230,7 +238,32 @@ interface HttpPostOptions {
|
|
|
230
238
|
* @default 2
|
|
231
239
|
*/
|
|
232
240
|
retries?: number;
|
|
241
|
+
/**
|
|
242
|
+
* Override the default `User-Agent: evlog/<version>` header. Pass `false` or
|
|
243
|
+
* an empty string to suppress it entirely (e.g. when the underlying transport
|
|
244
|
+
* forbids overriding `User-Agent`).
|
|
245
|
+
*/
|
|
246
|
+
userAgent?: string | false;
|
|
247
|
+
/**
|
|
248
|
+
* When set, sends `X-Evlog-Source: <source>` so the receiving system can
|
|
249
|
+
* distinguish evlog traffic from other clients. Typically the adapter name
|
|
250
|
+
* (`axiom`, `datadog`, ...) or `client` for browser-originated drains.
|
|
251
|
+
*/
|
|
252
|
+
source?: string;
|
|
233
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Returns a copy of `headers` with evlog identity headers injected when
|
|
256
|
+
* absent. Caller-provided values always win.
|
|
257
|
+
*
|
|
258
|
+
* @internal Exposed for tests. Use {@link httpPost} from drains.
|
|
259
|
+
*/
|
|
260
|
+
declare function withEvlogIdentityHeaders(headers: Record<string, string>, {
|
|
261
|
+
userAgent,
|
|
262
|
+
source
|
|
263
|
+
}?: {
|
|
264
|
+
userAgent?: string | false;
|
|
265
|
+
source?: string;
|
|
266
|
+
}): Record<string, string>;
|
|
234
267
|
/**
|
|
235
268
|
* POST a body with timeout + retry. Throws label-prefixed errors with a
|
|
236
269
|
* truncated response body. Safe to call from any drain `send()`.
|
|
@@ -241,7 +274,9 @@ declare function httpPost({
|
|
|
241
274
|
body,
|
|
242
275
|
timeout,
|
|
243
276
|
label,
|
|
244
|
-
retries
|
|
277
|
+
retries,
|
|
278
|
+
userAgent,
|
|
279
|
+
source
|
|
245
280
|
}: HttpPostOptions): Promise<void>;
|
|
246
281
|
//#endregion
|
|
247
282
|
//#region src/shared/integration.d.ts
|
|
@@ -347,5 +382,5 @@ declare function createLoggerStorage(contextHint: string): {
|
|
|
347
382
|
useLogger: <T extends object = Record<string, unknown>>() => RequestLogger<T>;
|
|
348
383
|
};
|
|
349
384
|
//#endregion
|
|
350
|
-
export { AttributeValueKind, BaseEvlogOptions, ClientLogContext, ConfigField, DrainOptions, EnricherDefinition, EnricherOptions, EvlogConfig, EvlogPlugin, ExtractedRequest, ForkBackgroundLoggerOptions, ForkLifecycle, FrameworkIntegrationHelpers, FrameworkIntegrationSpec, FrameworkRequestHandle, HttpDrainOptions, HttpDrainRequest, HttpPostOptions, MiddlewareLoggerOptions, MiddlewareLoggerResult, OTEL_SEVERITY_NUMBER, OTEL_SEVERITY_TEXT, PluginRunner, PluginSetupContext, RequestFinishContext, RequestLifecycleContext, TypedAttributeValue, attachForkToLogger, composeDrains, composeEnrichers, composeKeep, composePlugins, createLoggerStorage, createMiddlewareLogger, createPluginRunner, defineDrain, defineEnricher, defineEvlog, defineFrameworkIntegration, defineHttpDrain, definePlugin, drainPlugin, enricherPlugin, extractErrorStatus, extractSafeHeaders, extractSafeNodeHeaders, forkBackgroundLogger, getEmptyPluginRunner, getHeader, getRuntimeConfig, getServiceForPath, httpPost, mergeEventField, normalizeNumber, resolveAdapterConfig, resolveMiddlewarePluginRunner, runEnrichAndDrain, shouldLog, toLoggerConfig, toMiddlewareOptions, toOtlpAttributeValue, toTypedAttributeValue };
|
|
385
|
+
export { AttributeValueKind, BaseEvlogOptions, ClientLogContext, ConfigField, DrainOptions, EVLOG_USER_AGENT, EVLOG_VERSION, EnricherDefinition, EnricherOptions, EvlogConfig, EvlogPlugin, ExtractedRequest, ForkBackgroundLoggerOptions, ForkLifecycle, FrameworkIntegrationHelpers, FrameworkIntegrationSpec, FrameworkRequestHandle, HttpDrainOptions, HttpDrainRequest, HttpPostOptions, MiddlewareLoggerOptions, MiddlewareLoggerResult, OTEL_SEVERITY_NUMBER, OTEL_SEVERITY_TEXT, PluginRunner, PluginSetupContext, RequestFinishContext, RequestLifecycleContext, TypedAttributeValue, attachForkToLogger, composeDrains, composeEnrichers, composeKeep, composePlugins, createLoggerStorage, createMiddlewareLogger, createPluginRunner, defineDrain, defineEnricher, defineEvlog, defineFrameworkIntegration, defineHttpDrain, definePlugin, drainPlugin, enricherPlugin, extractErrorStatus, extractSafeHeaders, extractSafeNodeHeaders, forkBackgroundLogger, getEmptyPluginRunner, getHeader, getRuntimeConfig, getServiceForPath, httpPost, mergeEventField, normalizeNumber, resolveAdapterConfig, resolveMiddlewarePluginRunner, runEnrichAndDrain, shouldLog, toLoggerConfig, toMiddlewareOptions, toOtlpAttributeValue, toTypedAttributeValue, withEvlogIdentityHeaders };
|
|
351
386
|
//# sourceMappingURL=toolkit.d.mts.map
|
package/dist/toolkit.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolkit.d.mts","names":[],"sources":["../src/shared/compose.ts","../src/shared/config.ts","../src/shared/drain.ts","../src/shared/event.ts","../src/shared/fork.ts","../src/shared/headers.ts","../src/shared/http.ts","../src/shared/integration.ts","../src/shared/severity.ts","../src/shared/storage.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toolkit.d.mts","names":[],"sources":["../src/shared/compose.ts","../src/shared/config.ts","../src/shared/drain.ts","../src/shared/event.ts","../src/shared/fork.ts","../src/shared/headers.ts","../src/shared/http.ts","../src/shared/integration.ts","../src/shared/severity.ts","../src/shared/storage.ts"],"mappings":"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"}
|
package/dist/toolkit.mjs
CHANGED
|
@@ -2,12 +2,13 @@ import { D as drainPlugin, E as definePlugin, O as enricherPlugin, T as createPl
|
|
|
2
2
|
import { i as normalizeNumber, n as extractSafeNodeHeaders, r as getHeader, t as extractSafeHeaders } from "./headers-CU-QqnYg.mjs";
|
|
3
3
|
import { t as extractErrorStatus } from "./errors-BQgyQ9xe.mjs";
|
|
4
4
|
import { n as toLoggerConfig, r as toMiddlewareOptions, t as defineEvlog } from "./define-D6OJdSUH.mjs";
|
|
5
|
-
import { n as shouldLog, t as getServiceForPath } from "./routes-
|
|
6
|
-
import {
|
|
7
|
-
import { n as
|
|
8
|
-
import { n as
|
|
9
|
-
import {
|
|
10
|
-
import { a as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
|
|
5
|
+
import { n as shouldLog, t as getServiceForPath } from "./routes-CnIgYWf8.mjs";
|
|
6
|
+
import { i as withEvlogIdentityHeaders, n as EVLOG_VERSION, r as httpPost, t as EVLOG_USER_AGENT } from "./http-6umVAKDW.mjs";
|
|
7
|
+
import { i as resolveAdapterConfig, n as defineHttpDrain, r as getRuntimeConfig, t as defineDrain } from "./drain-X7_5szSI.mjs";
|
|
8
|
+
import { n as toOtlpAttributeValue, r as toTypedAttributeValue, t as mergeEventField } from "./event-1BMl7o0k.mjs";
|
|
9
|
+
import { n as OTEL_SEVERITY_TEXT, t as OTEL_SEVERITY_NUMBER } from "./severity-R5Egq3qz.mjs";
|
|
10
|
+
import { a as composePlugins, i as composeKeep, n as composeDrains, r as composeEnrichers, t as defineEnricher } from "./enricher-N0erZS87.mjs";
|
|
11
|
+
import { a as runEnrichAndDrain, i as resolveMiddlewarePluginRunner, n as forkBackgroundLogger, r as createMiddlewareLogger, t as attachForkToLogger } from "./fork-8u_zFOJq.mjs";
|
|
12
|
+
import { t as defineFrameworkIntegration } from "./integration-DTZtjSqh.mjs";
|
|
13
|
+
import { t as createLoggerStorage } from "./storage-Dwinmg8P.mjs";
|
|
14
|
+
export { EVLOG_USER_AGENT, EVLOG_VERSION, OTEL_SEVERITY_NUMBER, OTEL_SEVERITY_TEXT, attachForkToLogger, composeDrains, composeEnrichers, composeKeep, composePlugins, createLoggerStorage, createMiddlewareLogger, createPluginRunner, defineDrain, defineEnricher, defineEvlog, defineFrameworkIntegration, defineHttpDrain, definePlugin, drainPlugin, enricherPlugin, extractErrorStatus, extractSafeHeaders, extractSafeNodeHeaders, forkBackgroundLogger, getEmptyPluginRunner, getHeader, getRuntimeConfig, getServiceForPath, httpPost, mergeEventField, normalizeNumber, resolveAdapterConfig, resolveMiddlewarePluginRunner, runEnrichAndDrain, shouldLog, toLoggerConfig, toMiddlewareOptions, toOtlpAttributeValue, toTypedAttributeValue, withEvlogIdentityHeaders };
|
package/dist/types.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { AuditActor, AuditFields, AuditLoggerMethod, AuditTarget, BaseWideEvent, DeepPartial, DrainContext, EnrichContext, EnvironmentContext, ErrorOptions, FieldContext, H3EventContext, IngestPayload, InternalFields, Log, LogLevel, LoggerConfig, ParsedError, RedactConfig, RequestLogEntry, RequestLogger, RequestLoggerOptions, RouteConfig, SamplingConfig, SamplingRates, ServerEvent, TailSamplingCondition, TailSamplingContext, TransportConfig, WideEvent };
|
|
1
|
+
import { $ as RequestLogger, A as AuditActor, B as ErrorOptions, F as DeepPartial, G as Log, H as H3EventContext, I as DrainContext, J as ParsedError, K as LogLevel, L as EnrichContext, M as AuditLoggerMethod, N as AuditTarget, P as BaseWideEvent, Q as RequestLogEntry, R as EnvironmentContext, U as IngestPayload, V as FieldContext, W as InternalFields, X as RegisteredAuditCatalogs, Y as RedactConfig, Z as RegisteredErrorCatalogs, at as TailSamplingCondition, ct as WideEvent, et as RequestLoggerOptions, it as ServerEvent, j as AuditFields, k as AuditAction, nt as SamplingConfig, ot as TailSamplingContext, q as LoggerConfig, rt as SamplingRates, st as TransportConfig, tt as RouteConfig, z as ErrorCode } from "./audit-CC8nfazi.mjs";
|
|
2
|
+
export { AuditAction, AuditActor, AuditFields, AuditLoggerMethod, AuditTarget, BaseWideEvent, DeepPartial, DrainContext, EnrichContext, EnvironmentContext, ErrorCode, ErrorOptions, FieldContext, H3EventContext, IngestPayload, InternalFields, Log, LogLevel, LoggerConfig, ParsedError, RedactConfig, RegisteredAuditCatalogs, RegisteredErrorCatalogs, RequestLogEntry, RequestLogger, RequestLoggerOptions, RouteConfig, SamplingConfig, SamplingRates, ServerEvent, TailSamplingCondition, TailSamplingContext, TransportConfig, WideEvent };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as RequestLogger, it as ServerEvent } from "./audit-CC8nfazi.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/runtime/server/useLogger.d.ts
|
|
4
4
|
/**
|
|
@@ -36,4 +36,4 @@ import { Y as RequestLogger, et as ServerEvent } from "./audit-X1uUukm3.mjs";
|
|
|
36
36
|
declare function useLogger<T extends object = Record<string, unknown>>(event: ServerEvent, service?: string): RequestLogger<T>;
|
|
37
37
|
//#endregion
|
|
38
38
|
export { useLogger as t };
|
|
39
|
-
//# sourceMappingURL=useLogger-
|
|
39
|
+
//# sourceMappingURL=useLogger-BsPL4AQm.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogger-
|
|
1
|
+
{"version":3,"file":"useLogger-BsPL4AQm.d.mts","names":[],"sources":["../src/runtime/server/useLogger.ts"],"mappings":";;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,SAAA,oBAA6B,MAAA,kBAAA,CAAyB,KAAA,EAAO,WAAA,EAAa,OAAA,YAAmB,aAAA,CAAc,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as LogLevel, R as EnvironmentContext } from "./audit-CC8nfazi.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/utils.d.ts
|
|
4
4
|
declare function formatDuration(ms: number): string;
|
|
@@ -52,4 +52,4 @@ declare function filterSafeHeaders(headers: Record<string, string>): Record<stri
|
|
|
52
52
|
declare function matchesPattern(path: string, pattern: string): boolean;
|
|
53
53
|
//#endregion
|
|
54
54
|
export { escapeFormatString as a, getConsoleMethod as c, isBrowser as d, isClient as f, matchesPattern as g, isServer as h, detectEnvironment as i, getCssLevelColor as l, isLevelEnabled as m, colors as n, filterSafeHeaders as o, isDev as p, cssColors as r, formatDuration as s, SENSITIVE_HEADERS as t, getLevelColor as u };
|
|
55
|
-
//# sourceMappingURL=utils-
|
|
55
|
+
//# sourceMappingURL=utils-DLCeShxL.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-DLCeShxL.d.mts","names":[],"sources":["../src/utils.ts"],"mappings":";;;iBAEgB,cAAA,CAAe,EAAA;AAAA,iBAOf,QAAA,CAAA;AAAA,iBAIA,QAAA,CAAA;AAAA,iBAIA,SAAA,CAAA;AAAA,iBAOA,KAAA,CAAA;AAAA,iBAUA,iBAAA,CAAA,GAAqB,OAAA,CAAQ,kBAAA;;AAzB7C;;iBAsDgB,cAAA,CAAe,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,QAAA;AAAA,iBAI1C,gBAAA,CAAiB,KAAA,EAAO,QAAA,GAAW,QAAA;AAAA,cAItC,MAAA;EAAA;;;;;;;;;;;;iBAgBG,aAAA,CAAc,KAAA;AAAA,cAIjB,SAAA;EAAA;;;;;;;;iBAYG,gBAAA,CAAiB,KAAA;;;;;;iBASjB,kBAAA,CAAmB,GAAA;;cAKtB,iBAAA;AAAA,iBASG,iBAAA,CAAkB,OAAA,EAAS,MAAA,mBAAyB,MAAA;;;;;iBAkBpD,cAAA,CAAe,IAAA,UAAc,OAAA"}
|
package/dist/utils.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as escapeFormatString, c as getConsoleMethod, d as isBrowser, f as isClient, g as matchesPattern, h as isServer, i as detectEnvironment, l as getCssLevelColor, m as isLevelEnabled, n as colors, o as filterSafeHeaders, p as isDev, r as cssColors, s as formatDuration, t as SENSITIVE_HEADERS, u as getLevelColor } from "./utils-
|
|
1
|
+
import { a as escapeFormatString, c as getConsoleMethod, d as isBrowser, f as isClient, g as matchesPattern, h as isServer, i as detectEnvironment, l as getCssLevelColor, m as isLevelEnabled, n as colors, o as filterSafeHeaders, p as isDev, r as cssColors, s as formatDuration, t as SENSITIVE_HEADERS, u as getLevelColor } from "./utils-DLCeShxL.mjs";
|
|
2
2
|
export { SENSITIVE_HEADERS, colors, cssColors, detectEnvironment, escapeFormatString, filterSafeHeaders, formatDuration, getConsoleMethod, getCssLevelColor, getLevelColor, isBrowser, isClient, isDev, isLevelEnabled, isServer, matchesPattern };
|
package/dist/vite/index.d.mts
CHANGED
package/dist/workers.d.mts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evlog",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.17.0",
|
|
4
4
|
"description": "Modern TypeScript logger — simple logs, wide events, structured errors. Built for scripts, libraries, jobs, edge, and HTTP. One drain pipeline everywhere.",
|
|
5
5
|
"author": "HugoRCD <contact@hrcd.fr>",
|
|
6
6
|
"homepage": "https://evlog.dev",
|
|
@@ -110,6 +110,11 @@
|
|
|
110
110
|
"import": "./dist/pipeline.mjs",
|
|
111
111
|
"default": "./dist/pipeline.mjs"
|
|
112
112
|
},
|
|
113
|
+
"./stream": {
|
|
114
|
+
"types": "./dist/stream.d.mts",
|
|
115
|
+
"import": "./dist/stream.mjs",
|
|
116
|
+
"default": "./dist/stream.mjs"
|
|
117
|
+
},
|
|
113
118
|
"./http": {
|
|
114
119
|
"types": "./dist/http.d.mts",
|
|
115
120
|
"import": "./dist/http.mjs",
|
|
@@ -135,6 +140,11 @@
|
|
|
135
140
|
"import": "./dist/next/instrumentation.mjs",
|
|
136
141
|
"default": "./dist/next/instrumentation.mjs"
|
|
137
142
|
},
|
|
143
|
+
"./next/stream": {
|
|
144
|
+
"types": "./dist/next/stream.d.mts",
|
|
145
|
+
"import": "./dist/next/stream.mjs",
|
|
146
|
+
"default": "./dist/next/stream.mjs"
|
|
147
|
+
},
|
|
138
148
|
"./hono": {
|
|
139
149
|
"types": "./dist/hono/index.d.mts",
|
|
140
150
|
"import": "./dist/hono/index.mjs",
|
|
@@ -245,6 +255,9 @@
|
|
|
245
255
|
"pipeline": [
|
|
246
256
|
"./dist/pipeline.d.mts"
|
|
247
257
|
],
|
|
258
|
+
"stream": [
|
|
259
|
+
"./dist/stream.d.mts"
|
|
260
|
+
],
|
|
248
261
|
"http": [
|
|
249
262
|
"./dist/http.d.mts"
|
|
250
263
|
],
|
|
@@ -260,6 +273,9 @@
|
|
|
260
273
|
"next/instrumentation": [
|
|
261
274
|
"./dist/next/instrumentation.d.mts"
|
|
262
275
|
],
|
|
276
|
+
"next/stream": [
|
|
277
|
+
"./dist/next/stream.d.mts"
|
|
278
|
+
],
|
|
263
279
|
"hono": [
|
|
264
280
|
"./dist/hono/index.d.mts"
|
|
265
281
|
],
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drain-ByWUeOQC.mjs","names":[],"sources":["../src/shared/config.ts","../src/shared/http.ts","../src/shared/drain.ts"],"sourcesContent":["import { getNitroRuntimeConfigRecord } from './nitroConfigBridge'\n\n/** Read the full Nitro `useRuntimeConfig()` record (or `undefined` outside Nitro). */\nexport function getRuntimeConfig(): Promise<Record<string, any> | undefined> {\n return getNitroRuntimeConfigRecord()\n}\n\n/**\n * Description of a single adapter config field. `env` is the ordered list of\n * environment variables to fall back to, e.g. `['NUXT_AXIOM_TOKEN', 'AXIOM_TOKEN']`.\n */\nexport interface ConfigField<T> {\n key: keyof T & string\n env?: string[]\n}\n\n/**\n * Resolve adapter configuration with the standard priority chain:\n *\n * 1. `overrides` passed to the drain factory\n * 2. `runtimeConfig.evlog.{namespace}.{key}` (Nitro)\n * 3. `runtimeConfig.{namespace}.{key}` (Nitro)\n * 4. `process.env[envKey]` for each env in `field.env`\n */\nexport async function resolveAdapterConfig<T>(\n namespace: string,\n fields: ConfigField<T>[],\n overrides?: Partial<T>,\n): Promise<Partial<T>> {\n const runtimeConfig = shouldProbeRuntimeConfig(fields, overrides)\n ? await getRuntimeConfig()\n : undefined\n const evlogNs = runtimeConfig?.evlog?.[namespace]\n const rootNs = runtimeConfig?.[namespace]\n\n const config: Record<string, unknown> = {}\n\n for (const { key, env } of fields) {\n config[key] =\n overrides?.[key]\n ?? evlogNs?.[key]\n ?? rootNs?.[key]\n ?? resolveEnv(env)\n }\n\n return config as Partial<T>\n}\n\n// Avoid the Nitro virtual-module import when env/overrides already resolve\n// every env-backed field — optional tuning fields (timeout, retries) should\n// not trigger a runtime probe in non-Nitro runtimes.\nfunction shouldProbeRuntimeConfig<T>(\n fields: ConfigField<T>[],\n overrides?: Partial<T>,\n): boolean {\n return fields.some(({ key, env }) => {\n if (overrides?.[key] !== undefined) return false\n if (!env) return false\n return resolveEnv(env) === undefined\n })\n}\n\nfunction resolveEnv(envKeys?: string[]): string | undefined {\n if (!envKeys) return undefined\n for (const key of envKeys) {\n const val = process.env[key]\n if (val) return val\n }\n return undefined\n}\n","/**\n * Minimal HTTP transport for drain adapters: abort-based timeouts, exponential\n * backoff on `5xx` / network errors, response bodies truncated in error messages.\n */\n\nexport interface HttpPostOptions {\n url: string\n /** Caller is responsible for `Content-Type`. */\n headers: Record<string, string>\n /** Pre-serialized request body. */\n body: string\n /** Abort the request after this many milliseconds. */\n timeout: number\n /** Prefix used in error messages. */\n label: string\n /**\n * Retries network errors, aborts, and `5xx` responses with exponential backoff.\n * @default 2\n */\n retries?: number\n}\n\nfunction isRetryable(error: unknown): boolean {\n if (error instanceof DOMException && error.name === 'AbortError') return true\n if (error instanceof TypeError) return true\n if (error instanceof Error) {\n const match = error.message.match(/API error: (\\d+)/)\n if (match) return Number.parseInt(match[1]) >= 500\n }\n return false\n}\n\n/**\n * POST a body with timeout + retry. Throws label-prefixed errors with a\n * truncated response body. Safe to call from any drain `send()`.\n */\nexport async function httpPost({ url, headers, body, timeout, label, retries = 2 }: HttpPostOptions): Promise<void> {\n const normalizedRetries = Number.isFinite(retries) && retries >= 0 ? Math.floor(retries) : 2\n\n let lastError: Error | undefined\n\n for (let attempt = 0; attempt <= normalizedRetries; attempt++) {\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), timeout)\n\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body,\n signal: controller.signal,\n })\n\n if (!response.ok) {\n const text = await response.text().catch(() => 'Unknown error')\n const safeText = text.length > 200 ? `${text.slice(0, 200)}...[truncated]` : text\n throw new Error(`${label} API error: ${response.status} ${response.statusText} - ${safeText}`)\n }\n\n clearTimeout(timeoutId)\n return\n } catch (error) {\n clearTimeout(timeoutId)\n\n if (error instanceof DOMException && error.name === 'AbortError') {\n lastError = new Error(`${label} request timed out after ${timeout}ms`)\n } else {\n lastError = error as Error\n }\n\n if (!isRetryable(error) || attempt === normalizedRetries) {\n throw lastError\n }\n\n await new Promise<void>(r => setTimeout(r, 200 * 2 ** attempt))\n }\n }\n\n throw lastError!\n}\n","import type { DrainContext, WideEvent } from '../types'\nimport { httpPost } from './http'\n\n/**\n * Drain definition backed by an arbitrary `send` function. Use this for\n * non-HTTP transports (filesystem, in-memory queue, native SDK). For HTTP\n * backends, use `defineHttpDrain` instead.\n */\nexport interface DrainOptions<TConfig> {\n /** Stable identifier used in error logs. */\n name: string\n /** Return `null` to skip draining (e.g. missing API key in dev). */\n resolve: () => TConfig | null | Promise<TConfig | null>\n send: (events: WideEvent[], config: TConfig) => Promise<void>\n}\n\n/**\n * Build a drain callback. Errors raised by `send` are logged with the drain\n * name and swallowed, so a failing drain never breaks the request pipeline.\n *\n * @example\n * ```ts\n * export function createMyDrain(overrides?: Partial<MyConfig>) {\n * return defineDrain<MyConfig>({\n * name: 'my-drain',\n * resolve: () => ({ url: process.env.MY_URL ?? null }),\n * send: async (events, config) => { ... },\n * })\n * }\n * ```\n */\nexport function defineDrain<TConfig>(options: DrainOptions<TConfig>): (ctx: DrainContext | DrainContext[]) => Promise<void> {\n return async (ctx: DrainContext | DrainContext[]) => {\n const contexts = Array.isArray(ctx) ? ctx : [ctx]\n if (contexts.length === 0) return\n\n const config = await options.resolve()\n if (!config) return\n\n try {\n await options.send(contexts.map(c => c.event), config)\n } catch (error) {\n console.error(`[evlog/${options.name}] Failed to send events:`, error)\n }\n }\n}\n\nexport interface HttpDrainRequest {\n url: string\n /** Caller is responsible for `Content-Type`. */\n headers: Record<string, string>\n body: string\n}\n\n/** Adapters only need to ship config + `encode()` — no manual `fetch`. */\nexport interface HttpDrainOptions<TConfig> {\n /** Stable identifier used in error logs. */\n name: string\n /** Return `null` to skip draining (e.g. missing API key in dev). */\n resolve: () => TConfig | null | Promise<TConfig | null>\n /** Return `null` to skip the batch without raising. */\n encode: (events: WideEvent[], config: TConfig) => HttpDrainRequest | null\n /** @default 5000 */\n timeout?: number\n /** @default 2 */\n retries?: number\n /** Read the timeout off the resolved config (falls back to `timeout`). */\n resolveTimeout?: (config: TConfig) => number | undefined\n /** Read the retry count off the resolved config (falls back to `retries`). */\n resolveRetries?: (config: TConfig) => number | undefined\n}\n\nconst DEFAULT_HTTP_TIMEOUT = 5000\n\n/**\n * Build an HTTP drain. Timeouts/retries are resolved from the config (with\n * overrides via `resolveTimeout` / `resolveRetries`) and forwarded to\n * {@link httpPost}.\n *\n * @example\n * ```ts\n * export function createMyDrain(overrides?: Partial<MyConfig>) {\n * return defineHttpDrain<MyConfig>({\n * name: 'my',\n * resolve: async () => {\n * const cfg = await resolveAdapterConfig<MyConfig>('my', FIELDS, overrides)\n * return cfg.apiKey ? cfg as MyConfig : null\n * },\n * encode: (events, config) => ({\n * url: `${config.endpoint ?? 'https://api.my.com'}/ingest`,\n * headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${config.apiKey}` },\n * body: JSON.stringify(events),\n * }),\n * })\n * }\n * ```\n */\nexport function defineHttpDrain<TConfig>(options: HttpDrainOptions<TConfig>): (ctx: DrainContext | DrainContext[]) => Promise<void> {\n return defineDrain<TConfig>({\n name: options.name,\n resolve: options.resolve,\n send: async (events, config) => {\n if (events.length === 0) return\n const request = options.encode(events, config)\n if (!request) return\n const timeout = options.resolveTimeout?.(config)\n ?? (config as { timeout?: number }).timeout\n ?? options.timeout\n ?? DEFAULT_HTTP_TIMEOUT\n const retries = options.resolveRetries?.(config)\n ?? (config as { retries?: number }).retries\n ?? options.retries\n await httpPost({\n url: request.url,\n headers: request.headers,\n body: request.body,\n timeout,\n retries,\n label: options.name,\n })\n },\n })\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseError-B-dKF6Fd.d.mts","names":[],"sources":["../src/runtime/utils/parseError.ts"],"mappings":";;;iBAcgB,UAAA,CAAW,KAAA,YAAiB,WAAA"}
|