hazo_logs 1.1.0 → 2.0.1

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 (80) hide show
  1. package/README.md +198 -4
  2. package/config/hazo_logs_config.ini.sample +2 -0
  3. package/dist/index.d.ts +6 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +6 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/alert-triggers.d.ts +54 -0
  8. package/dist/lib/alert-triggers.d.ts.map +1 -0
  9. package/dist/lib/alert-triggers.js +96 -0
  10. package/dist/lib/alert-triggers.js.map +1 -0
  11. package/dist/lib/config_loader.d.ts.map +1 -1
  12. package/dist/lib/config_loader.js +1 -7
  13. package/dist/lib/config_loader.js.map +1 -1
  14. package/dist/lib/console-logger.d.ts +17 -1
  15. package/dist/lib/console-logger.d.ts.map +1 -1
  16. package/dist/lib/console-logger.js +47 -4
  17. package/dist/lib/console-logger.js.map +1 -1
  18. package/dist/lib/context/log-context.d.ts.map +1 -1
  19. package/dist/lib/context/log-context.js +4 -0
  20. package/dist/lib/context/log-context.js.map +1 -1
  21. package/dist/lib/eslint_plugin/index.d.ts +109 -0
  22. package/dist/lib/eslint_plugin/index.d.ts.map +1 -0
  23. package/dist/lib/eslint_plugin/index.js +168 -0
  24. package/dist/lib/eslint_plugin/index.js.map +1 -0
  25. package/dist/lib/global-error-handlers.d.ts +23 -0
  26. package/dist/lib/global-error-handlers.d.ts.map +1 -0
  27. package/dist/lib/global-error-handlers.js +46 -0
  28. package/dist/lib/global-error-handlers.js.map +1 -0
  29. package/dist/lib/hazo_logger.d.ts +9 -0
  30. package/dist/lib/hazo_logger.d.ts.map +1 -1
  31. package/dist/lib/hazo_logger.js +32 -0
  32. package/dist/lib/hazo_logger.js.map +1 -1
  33. package/dist/lib/level_resolver.d.ts +26 -0
  34. package/dist/lib/level_resolver.d.ts.map +1 -0
  35. package/dist/lib/level_resolver.js +65 -0
  36. package/dist/lib/level_resolver.js.map +1 -0
  37. package/dist/lib/log-reader.d.ts.map +1 -1
  38. package/dist/lib/log-reader.js +6 -4
  39. package/dist/lib/log-reader.js.map +1 -1
  40. package/dist/lib/package_logger.d.ts +47 -3
  41. package/dist/lib/package_logger.d.ts.map +1 -1
  42. package/dist/lib/package_logger.js +196 -10
  43. package/dist/lib/package_logger.js.map +1 -1
  44. package/dist/lib/ring_buffer.d.ts +51 -0
  45. package/dist/lib/ring_buffer.d.ts.map +1 -0
  46. package/dist/lib/ring_buffer.js +107 -0
  47. package/dist/lib/ring_buffer.js.map +1 -0
  48. package/dist/lib/types.d.ts +57 -24
  49. package/dist/lib/types.d.ts.map +1 -1
  50. package/dist/lib/universal-logger.d.ts.map +1 -1
  51. package/dist/lib/universal-logger.js +18 -0
  52. package/dist/lib/universal-logger.js.map +1 -1
  53. package/dist/lib/utils/caller_info.d.ts +25 -1
  54. package/dist/lib/utils/caller_info.d.ts.map +1 -1
  55. package/dist/lib/utils/caller_info.js +62 -1
  56. package/dist/lib/utils/caller_info.js.map +1 -1
  57. package/dist/lib/with-error-handler.d.ts +19 -0
  58. package/dist/lib/with-error-handler.d.ts.map +1 -0
  59. package/dist/lib/with-error-handler.js +77 -0
  60. package/dist/lib/with-error-handler.js.map +1 -0
  61. package/dist/server.d.ts +9 -0
  62. package/dist/server.d.ts.map +1 -1
  63. package/dist/server.js +7 -0
  64. package/dist/server.js.map +1 -1
  65. package/dist/ui/components/ErrorBoundary.d.ts +44 -0
  66. package/dist/ui/components/ErrorBoundary.d.ts.map +1 -0
  67. package/dist/ui/components/ErrorBoundary.js +57 -0
  68. package/dist/ui/components/ErrorBoundary.js.map +1 -0
  69. package/dist/ui/components/LogLevelBadge.d.ts.map +1 -1
  70. package/dist/ui/components/LogLevelBadge.js +1 -0
  71. package/dist/ui/components/LogLevelBadge.js.map +1 -1
  72. package/dist/ui/hooks/useErrorReporter.d.ts +16 -0
  73. package/dist/ui/hooks/useErrorReporter.d.ts.map +1 -0
  74. package/dist/ui/hooks/useErrorReporter.js +56 -0
  75. package/dist/ui/hooks/useErrorReporter.js.map +1 -0
  76. package/dist/ui/index.d.ts +4 -0
  77. package/dist/ui/index.d.ts.map +1 -1
  78. package/dist/ui/index.js +3 -0
  79. package/dist/ui/index.js.map +1 -1
  80. package/package.json +19 -7
@@ -0,0 +1,16 @@
1
+ import type { ClientLoggerConfig } from '../client-logger.js';
2
+ export interface UseErrorReporterOptions extends Omit<ClientLoggerConfig, 'packageName'> {
3
+ packageName?: string;
4
+ /** Current user ID — supply from your auth mechanism, not imported from hazo_auth */
5
+ userId?: string;
6
+ }
7
+ export interface UseErrorReporterResult {
8
+ /** Report an error. Returns correlationId to show to the user. */
9
+ reportError: (error: unknown, context?: Record<string, unknown>) => string;
10
+ /** Report a warning. Returns correlationId. */
11
+ reportWarning: (message: string, context?: Record<string, unknown>) => string;
12
+ /** Report an info event. Returns correlationId. */
13
+ reportInfo: (message: string, context?: Record<string, unknown>) => string;
14
+ }
15
+ export declare function useErrorReporter(options?: UseErrorReporterOptions): UseErrorReporterResult;
16
+ //# sourceMappingURL=useErrorReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useErrorReporter.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useErrorReporter.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAgB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAC3E,+CAA+C;IAC/C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IAC9E,mDAAmD;IACnD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;CAC5E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,sBAAsB,CAwD9F"}
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ /**
3
+ * useErrorReporter — React hook for manual error reporting to the log pipeline.
4
+ *
5
+ * Does NOT import hazo_auth. userId is supplied by the consumer from whatever
6
+ * auth mechanism they use (hazo_auth session, cookie, etc.).
7
+ *
8
+ * @example
9
+ * const { reportError } = useErrorReporter({ userId: session?.user?.id });
10
+ * const id = reportError(err, { component: 'PhotoUploader' });
11
+ * // Show id to user: "Reference: {id}"
12
+ */
13
+ import { useCallback, useRef } from 'react';
14
+ import { generateRequestId } from 'hazo_core';
15
+ import { createClientLogger } from '../client-logger.js';
16
+ export function useErrorReporter(options = {}) {
17
+ // Stable logger ref — doesn't re-create on every render
18
+ const loggerRef = useRef(null);
19
+ if (!loggerRef.current) {
20
+ loggerRef.current = createClientLogger({
21
+ packageName: options.packageName ?? 'hazo_logs.useErrorReporter',
22
+ apiBasePath: options.apiBasePath,
23
+ sessionId: options.sessionId,
24
+ reference: options.reference,
25
+ });
26
+ }
27
+ const logger = loggerRef.current;
28
+ const buildMeta = useCallback((extra) => ({
29
+ route_path: typeof window !== 'undefined' ? window.location.pathname : undefined,
30
+ user_agent: typeof navigator !== 'undefined' ? navigator.userAgent : undefined,
31
+ ...(options.userId ? { user_id: options.userId } : {}),
32
+ ...extra,
33
+ }), [options.userId]);
34
+ const reportError = useCallback((error, context) => {
35
+ const correlationId = generateRequestId();
36
+ const message = error instanceof Error ? error.message : String(error);
37
+ logger.error(message, {
38
+ ...buildMeta(context),
39
+ correlationId,
40
+ ...(error instanceof Error && error.stack ? { stack: error.stack } : {}),
41
+ });
42
+ return correlationId;
43
+ }, [logger, buildMeta]);
44
+ const reportWarning = useCallback((message, context) => {
45
+ const correlationId = generateRequestId();
46
+ logger.warn(message, { ...buildMeta(context), correlationId });
47
+ return correlationId;
48
+ }, [logger, buildMeta]);
49
+ const reportInfo = useCallback((message, context) => {
50
+ const correlationId = generateRequestId();
51
+ logger.info(message, { ...buildMeta(context), correlationId });
52
+ return correlationId;
53
+ }, [logger, buildMeta]);
54
+ return { reportError, reportWarning, reportInfo };
55
+ }
56
+ //# sourceMappingURL=useErrorReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useErrorReporter.js","sourceRoot":"","sources":["../../../src/ui/hooks/useErrorReporter.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,8 @@ export type { ClientLogger, ClientLoggerConfig, ClientLogLevel } from './client-
13
13
  export { configureClientLogger, getClientLoggerConfig, isClientLoggerConfigured, resetClientLoggerConfig, } from './client-config.js';
14
14
  export type { ClientLoggerGlobalConfig } from './client-config.js';
15
15
  export type { LogViewerPageProps, LogTableProps, LogTimelineProps, LogPaginationProps, LogLevelBadgeProps, LogApiConfig, LogApiHandler, AuthCheckFn, LogEntryDisplay, LogQueryResponse, LogDatesResponse, LogPackagesResponse, LogSource, } from './types.js';
16
+ export { ErrorBoundary } from './components/ErrorBoundary.js';
17
+ export type { ErrorBoundaryProps, ErrorBoundaryFallbackProps } from './components/ErrorBoundary.js';
18
+ export { useErrorReporter } from './hooks/useErrorReporter.js';
19
+ export type { UseErrorReporterOptions, UseErrorReporterResult } from './hooks/useErrorReporter.js';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/ui/index.js CHANGED
@@ -13,4 +13,7 @@ export { LogLevelBadge } from './components/LogLevelBadge.js';
13
13
  export { createClientLogger } from './client-logger.js';
14
14
  // Client Configuration (global defaults)
15
15
  export { configureClientLogger, getClientLoggerConfig, isClientLoggerConfigured, resetClientLoggerConfig, } from './client-config.js';
16
+ // Error handling (R4, R5)
17
+ export { ErrorBoundary } from './components/ErrorBoundary.js';
18
+ export { useErrorReporter } from './hooks/useErrorReporter.js';
16
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,yCAAyC;AACzC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,yCAAyC;AACzC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAoB5B,0BAA0B;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_logs",
3
- "version": "1.1.0",
3
+ "version": "2.0.1",
4
4
  "description": "Logger for hazo packages - Winston wrapper with singleton pattern",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,6 +32,10 @@
32
32
  "types": "./dist/tailwind.d.ts",
33
33
  "require": "./dist/tailwind.js",
34
34
  "import": "./dist/tailwind.js"
35
+ },
36
+ "./eslint-plugin": {
37
+ "types": "./dist/lib/eslint_plugin/index.d.ts",
38
+ "import": "./dist/lib/eslint_plugin/index.js"
35
39
  }
36
40
  },
37
41
  "files": [
@@ -73,23 +77,31 @@
73
77
  "winston-daily-rotate-file": "^5.0.0"
74
78
  },
75
79
  "devDependencies": {
80
+ "@testing-library/jest-dom": "^6.9.1",
81
+ "@testing-library/react": "^16.3.2",
76
82
  "@types/ini": "^4.1.1",
77
83
  "@types/node": "^22.10.2",
78
84
  "@types/react": "^19.0.1",
79
- "hazo_ui": ">=2.7.0",
85
+ "hazo_ui": "^3.1.0",
86
+ "jsdom": "^29.1.1",
80
87
  "next": "^16.0.10",
81
88
  "react": "^19.0.0",
89
+ "react-dom": "^19.2.3",
82
90
  "typescript": "^5.7.2",
83
91
  "vitest": "^4.0.15"
84
92
  },
85
93
  "peerDependencies": {
86
- "hazo_debug": "^2.0.0",
87
- "hazo_ui": ">=2.7.0",
88
- "next": ">=14.0.0",
89
- "react": ">=18.0.0",
90
- "react-dom": ">=18.0.0"
94
+ "hazo_core": "^1.0.0",
95
+ "hazo_debug": "^3.1.0",
96
+ "hazo_ui": "^3.1.0",
97
+ "next": "^14.0.0",
98
+ "react": "^18.0.0",
99
+ "react-dom": "^18.0.0"
91
100
  },
92
101
  "peerDependenciesMeta": {
102
+ "hazo_core": {
103
+ "optional": true
104
+ },
93
105
  "hazo_debug": {
94
106
  "optional": true
95
107
  },