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.
Files changed (136) hide show
  1. package/README.md +96 -0
  2. package/dist/_http-DVDwNag0.mjs +76 -0
  3. package/dist/_http-DVDwNag0.mjs.map +1 -0
  4. package/dist/_severity-CXfyvxQi.mjs +17 -0
  5. package/dist/_severity-CXfyvxQi.mjs.map +1 -0
  6. package/dist/adapters/axiom.d.mts +17 -15
  7. package/dist/adapters/axiom.d.mts.map +1 -0
  8. package/dist/adapters/axiom.mjs +91 -50
  9. package/dist/adapters/axiom.mjs.map +1 -0
  10. package/dist/adapters/better-stack.d.mts +63 -0
  11. package/dist/adapters/better-stack.d.mts.map +1 -0
  12. package/dist/adapters/better-stack.mjs +98 -0
  13. package/dist/adapters/better-stack.mjs.map +1 -0
  14. package/dist/adapters/otlp.d.mts +32 -30
  15. package/dist/adapters/otlp.d.mts.map +1 -0
  16. package/dist/adapters/otlp.mjs +181 -181
  17. package/dist/adapters/otlp.mjs.map +1 -0
  18. package/dist/adapters/posthog.d.mts +54 -19
  19. package/dist/adapters/posthog.d.mts.map +1 -0
  20. package/dist/adapters/posthog.mjs +156 -63
  21. package/dist/adapters/posthog.mjs.map +1 -0
  22. package/dist/adapters/sentry.d.mts +25 -23
  23. package/dist/adapters/sentry.d.mts.map +1 -0
  24. package/dist/adapters/sentry.mjs +198 -153
  25. package/dist/adapters/sentry.mjs.map +1 -0
  26. package/dist/browser.d.mts +63 -0
  27. package/dist/browser.d.mts.map +1 -0
  28. package/dist/browser.mjs +95 -0
  29. package/dist/browser.mjs.map +1 -0
  30. package/dist/enrichers.d.mts +74 -0
  31. package/dist/enrichers.d.mts.map +1 -0
  32. package/dist/enrichers.mjs +172 -0
  33. package/dist/enrichers.mjs.map +1 -0
  34. package/dist/error.d.mts +24 -22
  35. package/dist/error.d.mts.map +1 -0
  36. package/dist/error.mjs +107 -76
  37. package/dist/error.mjs.map +1 -0
  38. package/dist/index.d.mts +6 -5
  39. package/dist/index.mjs +6 -5
  40. package/dist/logger.d.mts +11 -5
  41. package/dist/logger.d.mts.map +1 -0
  42. package/dist/logger.mjs +255 -186
  43. package/dist/logger.mjs.map +1 -0
  44. package/dist/nitro/errorHandler.d.mts +4 -2
  45. package/dist/nitro/errorHandler.d.mts.map +1 -0
  46. package/dist/nitro/errorHandler.mjs +38 -38
  47. package/dist/nitro/errorHandler.mjs.map +1 -0
  48. package/dist/nitro/module.d.mts +11 -0
  49. package/dist/nitro/module.d.mts.map +1 -0
  50. package/dist/nitro/module.mjs +23 -0
  51. package/dist/nitro/module.mjs.map +1 -0
  52. package/dist/nitro/plugin.d.mts +4 -2
  53. package/dist/nitro/plugin.d.mts.map +1 -0
  54. package/dist/nitro/plugin.mjs +135 -140
  55. package/dist/nitro/plugin.mjs.map +1 -0
  56. package/dist/nitro/v3/errorHandler.d.mts +24 -0
  57. package/dist/nitro/v3/errorHandler.d.mts.map +1 -0
  58. package/dist/nitro/v3/errorHandler.mjs +36 -0
  59. package/dist/nitro/v3/errorHandler.mjs.map +1 -0
  60. package/dist/nitro/v3/index.d.mts +4 -0
  61. package/dist/nitro/v3/index.mjs +4 -0
  62. package/dist/nitro/v3/module.d.mts +10 -0
  63. package/dist/nitro/v3/module.d.mts.map +1 -0
  64. package/dist/nitro/v3/module.mjs +22 -0
  65. package/dist/nitro/v3/module.mjs.map +1 -0
  66. package/dist/nitro/v3/plugin.d.mts +14 -0
  67. package/dist/nitro/v3/plugin.d.mts.map +1 -0
  68. package/dist/nitro/v3/plugin.mjs +157 -0
  69. package/dist/nitro/v3/plugin.mjs.map +1 -0
  70. package/dist/nitro/v3/useLogger.d.mts +24 -0
  71. package/dist/nitro/v3/useLogger.d.mts.map +1 -0
  72. package/dist/nitro/v3/useLogger.mjs +27 -0
  73. package/dist/nitro/v3/useLogger.mjs.map +1 -0
  74. package/dist/nitro-D57TWGyN.mjs +73 -0
  75. package/dist/nitro-D57TWGyN.mjs.map +1 -0
  76. package/dist/nitro-D81NBVPi.d.mts +42 -0
  77. package/dist/nitro-D81NBVPi.d.mts.map +1 -0
  78. package/dist/nuxt/module.d.mts +155 -168
  79. package/dist/nuxt/module.d.mts.map +1 -0
  80. package/dist/nuxt/module.mjs +75 -65
  81. package/dist/nuxt/module.mjs.map +1 -0
  82. package/dist/pipeline.d.mts +46 -0
  83. package/dist/pipeline.d.mts.map +1 -0
  84. package/dist/pipeline.mjs +122 -0
  85. package/dist/pipeline.mjs.map +1 -0
  86. package/dist/runtime/client/log.d.mts +12 -7
  87. package/dist/runtime/client/log.d.mts.map +1 -0
  88. package/dist/runtime/client/log.mjs +72 -64
  89. package/dist/runtime/client/log.mjs.map +1 -0
  90. package/dist/runtime/client/plugin.d.mts +3 -1
  91. package/dist/runtime/client/plugin.d.mts.map +1 -0
  92. package/dist/runtime/client/plugin.mjs +14 -12
  93. package/dist/runtime/client/plugin.mjs.map +1 -0
  94. package/dist/runtime/server/routes/_evlog/ingest.post.d.mts +4 -2
  95. package/dist/runtime/server/routes/_evlog/ingest.post.d.mts.map +1 -0
  96. package/dist/runtime/server/routes/_evlog/ingest.post.mjs +113 -76
  97. package/dist/runtime/server/routes/_evlog/ingest.post.mjs.map +1 -0
  98. package/dist/runtime/server/useLogger.d.mts +14 -3
  99. package/dist/runtime/server/useLogger.d.mts.map +1 -0
  100. package/dist/runtime/server/useLogger.mjs +39 -10
  101. package/dist/runtime/server/useLogger.mjs.map +1 -0
  102. package/dist/runtime/utils/parseError.d.mts +5 -3
  103. package/dist/runtime/utils/parseError.d.mts.map +1 -0
  104. package/dist/runtime/utils/parseError.mjs +25 -26
  105. package/dist/runtime/utils/parseError.mjs.map +1 -0
  106. package/dist/types.d.mts +378 -246
  107. package/dist/types.d.mts.map +1 -0
  108. package/dist/types.mjs +1 -1
  109. package/dist/utils.d.mts +19 -14
  110. package/dist/utils.d.mts.map +1 -0
  111. package/dist/utils.mjs +59 -50
  112. package/dist/utils.mjs.map +1 -0
  113. package/dist/workers.d.mts +10 -9
  114. package/dist/workers.d.mts.map +1 -0
  115. package/dist/workers.mjs +68 -39
  116. package/dist/workers.mjs.map +1 -0
  117. package/package.json +55 -10
  118. package/dist/adapters/axiom.d.ts +0 -62
  119. package/dist/adapters/otlp.d.ts +0 -83
  120. package/dist/adapters/posthog.d.ts +0 -72
  121. package/dist/adapters/sentry.d.ts +0 -78
  122. package/dist/error.d.ts +0 -63
  123. package/dist/index.d.ts +0 -5
  124. package/dist/logger.d.ts +0 -40
  125. package/dist/nitro/errorHandler.d.ts +0 -13
  126. package/dist/nitro/plugin.d.ts +0 -5
  127. package/dist/nuxt/module.d.ts +0 -171
  128. package/dist/runtime/client/log.d.ts +0 -10
  129. package/dist/runtime/client/plugin.d.ts +0 -3
  130. package/dist/runtime/server/routes/_evlog/ingest.post.d.ts +0 -5
  131. package/dist/runtime/server/useLogger.d.ts +0 -28
  132. package/dist/runtime/utils/parseError.d.ts +0 -5
  133. package/dist/shared/evlog.Bc35pxiY.mjs +0 -10
  134. package/dist/types.d.ts +0 -364
  135. package/dist/utils.d.ts +0 -29
  136. package/dist/workers.d.ts +0 -45
@@ -1,5 +1,6 @@
1
- import { ServerEvent, RequestLogger } from '../../types.mjs';
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
- const log = event.context.log;
3
- if (!log) {
4
- throw new Error(
5
- '[evlog] Logger not initialized. Make sure the evlog Nitro plugin is registered. If using Nuxt, add "evlog" to your modules.'
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 '../../types.mjs';
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
- if (error && typeof error === "object" && "data" in error) {
3
- const { data, message: fetchMessage, statusCode: fetchStatusCode, status: fetchStatus } = error;
4
- const evlogData = data?.data ?? data;
5
- return {
6
- // Prefer statusText, then statusMessage (or message) for the error message
7
- message: data?.statusText || data?.statusMessage || data?.message || fetchMessage || "An error occurred",
8
- // Prefer status, then statusCode for the status value
9
- status: data?.status || data?.statusCode || fetchStatus || fetchStatusCode || 500,
10
- why: evlogData?.why,
11
- fix: evlogData?.fix,
12
- link: evlogData?.link,
13
- raw: error
14
- };
15
- }
16
- if (error instanceof Error) {
17
- return {
18
- message: error.message,
19
- status: 500,
20
- raw: error
21
- };
22
- }
23
- return {
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"}