evlog 1.6.0 → 1.8.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 +96 -0
- package/dist/_http-DVDwNag0.mjs +76 -0
- package/dist/_http-DVDwNag0.mjs.map +1 -0
- package/dist/_severity-CXfyvxQi.mjs +17 -0
- package/dist/_severity-CXfyvxQi.mjs.map +1 -0
- package/dist/adapters/axiom.d.mts +17 -15
- package/dist/adapters/axiom.d.mts.map +1 -0
- package/dist/adapters/axiom.mjs +91 -50
- package/dist/adapters/axiom.mjs.map +1 -0
- package/dist/adapters/better-stack.d.mts +63 -0
- package/dist/adapters/better-stack.d.mts.map +1 -0
- package/dist/adapters/better-stack.mjs +98 -0
- package/dist/adapters/better-stack.mjs.map +1 -0
- package/dist/adapters/otlp.d.mts +32 -30
- package/dist/adapters/otlp.d.mts.map +1 -0
- package/dist/adapters/otlp.mjs +181 -181
- package/dist/adapters/otlp.mjs.map +1 -0
- package/dist/adapters/posthog.d.mts +54 -19
- package/dist/adapters/posthog.d.mts.map +1 -0
- package/dist/adapters/posthog.mjs +156 -63
- package/dist/adapters/posthog.mjs.map +1 -0
- package/dist/adapters/sentry.d.mts +25 -23
- package/dist/adapters/sentry.d.mts.map +1 -0
- package/dist/adapters/sentry.mjs +198 -153
- package/dist/adapters/sentry.mjs.map +1 -0
- package/dist/browser.d.mts +63 -0
- package/dist/browser.d.mts.map +1 -0
- package/dist/browser.mjs +95 -0
- package/dist/browser.mjs.map +1 -0
- package/dist/enrichers.d.mts +74 -0
- package/dist/enrichers.d.mts.map +1 -0
- package/dist/enrichers.mjs +172 -0
- package/dist/enrichers.mjs.map +1 -0
- package/dist/error.d.mts +24 -22
- package/dist/error.d.mts.map +1 -0
- package/dist/error.mjs +107 -76
- package/dist/error.mjs.map +1 -0
- package/dist/index.d.mts +6 -5
- package/dist/index.mjs +6 -5
- package/dist/logger.d.mts +11 -5
- package/dist/logger.d.mts.map +1 -0
- package/dist/logger.mjs +255 -186
- package/dist/logger.mjs.map +1 -0
- package/dist/nitro/errorHandler.d.mts +4 -2
- package/dist/nitro/errorHandler.d.mts.map +1 -0
- package/dist/nitro/errorHandler.mjs +38 -38
- package/dist/nitro/errorHandler.mjs.map +1 -0
- package/dist/nitro/module.d.mts +11 -0
- package/dist/nitro/module.d.mts.map +1 -0
- package/dist/nitro/module.mjs +23 -0
- package/dist/nitro/module.mjs.map +1 -0
- package/dist/nitro/plugin.d.mts +4 -2
- package/dist/nitro/plugin.d.mts.map +1 -0
- package/dist/nitro/plugin.mjs +135 -140
- package/dist/nitro/plugin.mjs.map +1 -0
- package/dist/nitro/v3/errorHandler.d.mts +24 -0
- package/dist/nitro/v3/errorHandler.d.mts.map +1 -0
- package/dist/nitro/v3/errorHandler.mjs +36 -0
- package/dist/nitro/v3/errorHandler.mjs.map +1 -0
- package/dist/nitro/v3/index.d.mts +4 -0
- package/dist/nitro/v3/index.mjs +4 -0
- package/dist/nitro/v3/module.d.mts +10 -0
- package/dist/nitro/v3/module.d.mts.map +1 -0
- package/dist/nitro/v3/module.mjs +22 -0
- package/dist/nitro/v3/module.mjs.map +1 -0
- package/dist/nitro/v3/plugin.d.mts +14 -0
- package/dist/nitro/v3/plugin.d.mts.map +1 -0
- package/dist/nitro/v3/plugin.mjs +157 -0
- package/dist/nitro/v3/plugin.mjs.map +1 -0
- package/dist/nitro/v3/useLogger.d.mts +24 -0
- package/dist/nitro/v3/useLogger.d.mts.map +1 -0
- package/dist/nitro/v3/useLogger.mjs +27 -0
- package/dist/nitro/v3/useLogger.mjs.map +1 -0
- package/dist/nitro-D57TWGyN.mjs +73 -0
- package/dist/nitro-D57TWGyN.mjs.map +1 -0
- package/dist/nitro-D81NBVPi.d.mts +42 -0
- package/dist/nitro-D81NBVPi.d.mts.map +1 -0
- package/dist/nuxt/module.d.mts +155 -168
- package/dist/nuxt/module.d.mts.map +1 -0
- package/dist/nuxt/module.mjs +75 -65
- package/dist/nuxt/module.mjs.map +1 -0
- package/dist/pipeline.d.mts +46 -0
- package/dist/pipeline.d.mts.map +1 -0
- package/dist/pipeline.mjs +122 -0
- package/dist/pipeline.mjs.map +1 -0
- package/dist/runtime/client/log.d.mts +12 -7
- package/dist/runtime/client/log.d.mts.map +1 -0
- package/dist/runtime/client/log.mjs +72 -64
- package/dist/runtime/client/log.mjs.map +1 -0
- package/dist/runtime/client/plugin.d.mts +3 -1
- package/dist/runtime/client/plugin.d.mts.map +1 -0
- package/dist/runtime/client/plugin.mjs +14 -12
- package/dist/runtime/client/plugin.mjs.map +1 -0
- package/dist/runtime/server/routes/_evlog/ingest.post.d.mts +4 -2
- package/dist/runtime/server/routes/_evlog/ingest.post.d.mts.map +1 -0
- package/dist/runtime/server/routes/_evlog/ingest.post.mjs +113 -76
- package/dist/runtime/server/routes/_evlog/ingest.post.mjs.map +1 -0
- package/dist/runtime/server/useLogger.d.mts +14 -3
- package/dist/runtime/server/useLogger.d.mts.map +1 -0
- package/dist/runtime/server/useLogger.mjs +39 -10
- package/dist/runtime/server/useLogger.mjs.map +1 -0
- package/dist/runtime/utils/parseError.d.mts +5 -3
- package/dist/runtime/utils/parseError.d.mts.map +1 -0
- package/dist/runtime/utils/parseError.mjs +25 -26
- package/dist/runtime/utils/parseError.mjs.map +1 -0
- package/dist/types.d.mts +378 -246
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +1 -1
- package/dist/utils.d.mts +19 -14
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +59 -50
- package/dist/utils.mjs.map +1 -0
- package/dist/workers.d.mts +10 -9
- package/dist/workers.d.mts.map +1 -0
- package/dist/workers.mjs +68 -39
- package/dist/workers.mjs.map +1 -0
- package/package.json +55 -10
- package/dist/adapters/axiom.d.ts +0 -62
- package/dist/adapters/otlp.d.ts +0 -83
- package/dist/adapters/posthog.d.ts +0 -72
- package/dist/adapters/sentry.d.ts +0 -78
- package/dist/error.d.ts +0 -63
- package/dist/index.d.ts +0 -5
- package/dist/logger.d.ts +0 -40
- package/dist/nitro/errorHandler.d.ts +0 -13
- package/dist/nitro/plugin.d.ts +0 -5
- package/dist/nuxt/module.d.ts +0 -171
- package/dist/runtime/client/log.d.ts +0 -10
- package/dist/runtime/client/plugin.d.ts +0 -3
- package/dist/runtime/server/routes/_evlog/ingest.post.d.ts +0 -5
- package/dist/runtime/server/useLogger.d.ts +0 -28
- package/dist/runtime/utils/parseError.d.ts +0 -5
- package/dist/shared/evlog.Bc35pxiY.mjs +0 -10
- package/dist/types.d.ts +0 -364
- package/dist/utils.d.ts +0 -29
- package/dist/workers.d.ts +0 -45
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RequestLogger, ServerEvent } from "../../types.mjs";
|
|
2
2
|
|
|
3
|
+
//#region src/runtime/server/useLogger.d.ts
|
|
3
4
|
/**
|
|
4
5
|
* Returns the request logger attached to the given server event.
|
|
5
6
|
*
|
|
@@ -22,7 +23,17 @@ import { ServerEvent, RequestLogger } from '../../types.mjs';
|
|
|
22
23
|
* log.set({ foo: 'bar' })
|
|
23
24
|
* // ...
|
|
24
25
|
* })
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Typed fields — must use explicit import for type checking to work
|
|
29
|
+
* import { useLogger } from 'evlog'
|
|
30
|
+
*
|
|
31
|
+
* interface MyFields { user: { id: string; plan: string } }
|
|
32
|
+
* const log = useLogger<MyFields>(event)
|
|
33
|
+
* log.set({ user: { id: '123', plan: 'pro' } }) // OK
|
|
34
|
+
* log.set({ foo: 'bar' }) // TS error
|
|
25
35
|
*/
|
|
26
|
-
declare function useLogger(event: ServerEvent, service?: string): RequestLogger
|
|
27
|
-
|
|
36
|
+
declare function useLogger<T extends object = Record<string, unknown>>(event: ServerEvent, service?: string): RequestLogger<T>;
|
|
37
|
+
//#endregion
|
|
28
38
|
export { useLogger };
|
|
39
|
+
//# sourceMappingURL=useLogger.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLogger.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,14 +1,43 @@
|
|
|
1
|
+
//#region src/runtime/server/useLogger.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns the request logger attached to the given server event.
|
|
4
|
+
*
|
|
5
|
+
* @param event - The current server event containing the context with the logger.
|
|
6
|
+
* @param service - Optional service name to override the default service.
|
|
7
|
+
* @returns The request-scoped logger.
|
|
8
|
+
* @throws Error if the logger is not initialized on the event context.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* export default defineEventHandler((event) => {
|
|
12
|
+
* const log = useLogger(event)
|
|
13
|
+
* log.set({ foo: 'bar' })
|
|
14
|
+
* // ...
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Override service name for specific routes
|
|
19
|
+
* export default defineEventHandler((event) => {
|
|
20
|
+
* const log = useLogger(event, 'payment-service')
|
|
21
|
+
* log.set({ foo: 'bar' })
|
|
22
|
+
* // ...
|
|
23
|
+
* })
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // Typed fields — must use explicit import for type checking to work
|
|
27
|
+
* import { useLogger } from 'evlog'
|
|
28
|
+
*
|
|
29
|
+
* interface MyFields { user: { id: string; plan: string } }
|
|
30
|
+
* const log = useLogger<MyFields>(event)
|
|
31
|
+
* log.set({ user: { id: '123', plan: 'pro' } }) // OK
|
|
32
|
+
* log.set({ foo: 'bar' }) // TS error
|
|
33
|
+
*/
|
|
1
34
|
function useLogger(event, service) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
);
|
|
7
|
-
}
|
|
8
|
-
if (service) {
|
|
9
|
-
log.set({ service });
|
|
10
|
-
}
|
|
11
|
-
return log;
|
|
35
|
+
const log = event.context.log;
|
|
36
|
+
if (!log) throw new Error("[evlog] Logger not initialized. Make sure the evlog Nitro plugin is registered. If using Nuxt, add \"evlog\" to your modules.");
|
|
37
|
+
if (service) log.set({ service });
|
|
38
|
+
return log;
|
|
12
39
|
}
|
|
13
40
|
|
|
41
|
+
//#endregion
|
|
14
42
|
export { useLogger };
|
|
43
|
+
//# sourceMappingURL=useLogger.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLogger.mjs","names":[],"sources":["../../../src/runtime/server/useLogger.ts"],"sourcesContent":["import type { RequestLogger, ServerEvent } from '../../types'\n\n/**\n * Returns the request logger attached to the given server event.\n *\n * @param event - The current server event containing the context with the logger.\n * @param service - Optional service name to override the default service.\n * @returns The request-scoped logger.\n * @throws Error if the logger is not initialized on the event context.\n *\n * @example\n * export default defineEventHandler((event) => {\n * const log = useLogger(event)\n * log.set({ foo: 'bar' })\n * // ...\n * })\n *\n * @example\n * // Override service name for specific routes\n * export default defineEventHandler((event) => {\n * const log = useLogger(event, 'payment-service')\n * log.set({ foo: 'bar' })\n * // ...\n * })\n *\n * @example\n * // Typed fields — must use explicit import for type checking to work\n * import { useLogger } from 'evlog'\n *\n * interface MyFields { user: { id: string; plan: string } }\n * const log = useLogger<MyFields>(event)\n * log.set({ user: { id: '123', plan: 'pro' } }) // OK\n * log.set({ foo: 'bar' }) // TS error\n */\nexport function useLogger<T extends object = Record<string, unknown>>(event: ServerEvent, service?: string): RequestLogger<T> {\n const log = event.context.log as RequestLogger<T> | undefined\n\n if (!log) {\n throw new Error(\n '[evlog] Logger not initialized. Make sure the evlog Nitro plugin is registered. '\n + 'If using Nuxt, add \"evlog\" to your modules.',\n )\n }\n\n if (service) {\n const untyped = log as unknown as RequestLogger\n untyped.set({ service })\n }\n\n return log\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAAgB,UAAsD,OAAoB,SAAoC;CAC5H,MAAM,MAAM,MAAM,QAAQ;AAE1B,KAAI,CAAC,IACH,OAAM,IAAI,MACR,gIAED;AAGH,KAAI,QAEF,CADgB,IACR,IAAI,EAAE,SAAS,CAAC;AAG1B,QAAO"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { ParsedError } from
|
|
1
|
+
import { ParsedError } from "../../types.mjs";
|
|
2
2
|
|
|
3
|
+
//#region src/runtime/utils/parseError.d.ts
|
|
3
4
|
declare function parseError(error: unknown): ParsedError;
|
|
4
|
-
|
|
5
|
-
export { ParsedError, parseError };
|
|
5
|
+
//#endregion
|
|
6
|
+
export { type ParsedError, parseError };
|
|
7
|
+
//# sourceMappingURL=parseError.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseError.d.mts","names":[],"sources":["../../../src/runtime/utils/parseError.ts"],"mappings":";;;iBAKgB,UAAA,CAAW,KAAA,YAAiB,WAAA"}
|
|
@@ -1,30 +1,29 @@
|
|
|
1
|
+
//#region src/runtime/utils/parseError.ts
|
|
1
2
|
function parseError(error) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
message: String(error),
|
|
25
|
-
status: 500,
|
|
26
|
-
raw: error
|
|
27
|
-
};
|
|
3
|
+
if (error && typeof error === "object" && "data" in error) {
|
|
4
|
+
const { data, message: fetchMessage, statusCode: fetchStatusCode, status: fetchStatus } = error;
|
|
5
|
+
const evlogData = data?.data ?? data;
|
|
6
|
+
return {
|
|
7
|
+
message: data?.statusText || data?.statusMessage || data?.message || fetchMessage || "An error occurred",
|
|
8
|
+
status: data?.status || data?.statusCode || fetchStatus || fetchStatusCode || 500,
|
|
9
|
+
why: evlogData?.why,
|
|
10
|
+
fix: evlogData?.fix,
|
|
11
|
+
link: evlogData?.link,
|
|
12
|
+
raw: error
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (error instanceof Error) return {
|
|
16
|
+
message: error.message,
|
|
17
|
+
status: 500,
|
|
18
|
+
raw: error
|
|
19
|
+
};
|
|
20
|
+
return {
|
|
21
|
+
message: String(error),
|
|
22
|
+
status: 500,
|
|
23
|
+
raw: error
|
|
24
|
+
};
|
|
28
25
|
}
|
|
29
26
|
|
|
27
|
+
//#endregion
|
|
30
28
|
export { parseError };
|
|
29
|
+
//# sourceMappingURL=parseError.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseError.mjs","names":[],"sources":["../../../src/runtime/utils/parseError.ts"],"sourcesContent":["import type { FetchError } from 'ofetch'\nimport type { ParsedError } from '../../types'\n\nexport type { ParsedError }\n\nexport function parseError(error: unknown): ParsedError {\n if (error && typeof error === 'object' && 'data' in error) {\n const { data, message: fetchMessage, statusCode: fetchStatusCode, status: fetchStatus } = error as FetchError & { status?: number }\n\n // Support both nested data.data (fetch response) and direct data (EvlogError)\n const evlogData = (data?.data ?? data) as { why?: string, fix?: string, link?: string } | undefined\n\n return {\n // Prefer statusText, then statusMessage (or message) for the error message\n message: data?.statusText || data?.statusMessage || data?.message || fetchMessage || 'An error occurred',\n // Prefer status, then statusCode for the status value\n status: data?.status || data?.statusCode || fetchStatus || fetchStatusCode || 500,\n why: evlogData?.why,\n fix: evlogData?.fix,\n link: evlogData?.link,\n raw: error,\n }\n }\n\n if (error instanceof Error) {\n return {\n message: error.message,\n status: 500,\n raw: error,\n }\n }\n\n return {\n message: String(error),\n status: 500,\n raw: error,\n }\n}\n"],"mappings":";AAKA,SAAgB,WAAW,OAA6B;AACtD,KAAI,SAAS,OAAO,UAAU,YAAY,UAAU,OAAO;EACzD,MAAM,EAAE,MAAM,SAAS,cAAc,YAAY,iBAAiB,QAAQ,gBAAgB;EAG1F,MAAM,YAAa,MAAM,QAAQ;AAEjC,SAAO;GAEL,SAAS,MAAM,cAAc,MAAM,iBAAiB,MAAM,WAAW,gBAAgB;GAErF,QAAQ,MAAM,UAAU,MAAM,cAAc,eAAe,mBAAmB;GAC9E,KAAK,WAAW;GAChB,KAAK,WAAW;GAChB,MAAM,WAAW;GACjB,KAAK;GACN;;AAGH,KAAI,iBAAiB,MACnB,QAAO;EACL,SAAS,MAAM;EACf,QAAQ;EACR,KAAK;EACN;AAGH,QAAO;EACL,SAAS,OAAO,MAAM;EACtB,QAAQ;EACR,KAAK;EACN"}
|