trpc-monitoring-middleware 0.0.1 → 0.0.2
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 +17 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# tRPC monitoring middleware
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/trpc-monitoring-middleware)
|
|
4
|
+
[](https://github.com/fuegoio/trpc-monitoring-middleware/blob/main/LICENSE)
|
|
5
|
+
|
|
3
6
|
A simple tRPC middleware for monitoring and logging procedures.
|
|
4
7
|
|
|
5
8
|
## Features
|
|
@@ -61,6 +64,13 @@ Error codes classified as internal errors:
|
|
|
61
64
|
- `SERVICE_UNAVAILABLE`
|
|
62
65
|
- `GATEWAY_TIMEOUT`
|
|
63
66
|
|
|
67
|
+
### Debug Logging
|
|
68
|
+
|
|
69
|
+
The middleware automatically logs all tRPC procedure executions in `DEBUG` level with detailed information:
|
|
70
|
+
|
|
71
|
+
- **Start events**: Logged when a procedure starts execution with path and type
|
|
72
|
+
- **Completion events**: Logged when a procedure completes successfully with duration
|
|
73
|
+
|
|
64
74
|
## Configuration
|
|
65
75
|
|
|
66
76
|
```typescript
|
|
@@ -76,12 +86,19 @@ const monitoringMiddleware = createMonitoringMiddleware({
|
|
|
76
86
|
// Custom error logging
|
|
77
87
|
console.error(message, errorData);
|
|
78
88
|
},
|
|
89
|
+
debug: (data, message) => {
|
|
90
|
+
// Custom debug logging
|
|
91
|
+
console.log(message, data);
|
|
92
|
+
},
|
|
79
93
|
child: (data) => {
|
|
80
94
|
// Return a new logger instance with additional context
|
|
81
95
|
return {
|
|
82
96
|
error: (errorData, message) => {
|
|
83
97
|
console.error(message, { ...data, ...errorData });
|
|
84
98
|
},
|
|
99
|
+
debug: (debugData, message) => {
|
|
100
|
+
console.log(message, { ...data, ...debugData });
|
|
101
|
+
},
|
|
85
102
|
child: (additionalData) => {
|
|
86
103
|
return this.child({ ...data, ...additionalData });
|
|
87
104
|
},
|
package/dist/index.d.mts
CHANGED
|
@@ -3,6 +3,7 @@ import * as _trpc_server0 from "@trpc/server";
|
|
|
3
3
|
//#region src/index.d.ts
|
|
4
4
|
interface MonitoringMiddlewareCompatibleLogger {
|
|
5
5
|
error: (error: Record<string, unknown>, message: string) => void;
|
|
6
|
+
debug: (data: Record<string, unknown>, message: string) => void;
|
|
6
7
|
child: (data: Record<string, unknown>) => MonitoringMiddlewareCompatibleLogger;
|
|
7
8
|
}
|
|
8
9
|
interface MonitoringMiddlewareOptions {
|
package/dist/index.mjs
CHANGED
|
@@ -67,8 +67,14 @@ function createMonitoringMiddleware(pluginOpts) {
|
|
|
67
67
|
const procedureLogger = logger?.child({ procedure: meta });
|
|
68
68
|
span.setAttributes(meta);
|
|
69
69
|
try {
|
|
70
|
+
procedureLogger?.debug({ ...opts }, "[trpc] Starting procedure");
|
|
70
71
|
const procedure = await opts.next({ ctx: { logger: procedureLogger } });
|
|
71
72
|
handleProcedureCompletion(span, procedure, meta, procedureLogger);
|
|
73
|
+
procedureLogger?.debug({
|
|
74
|
+
...opts,
|
|
75
|
+
ok: procedure.ok,
|
|
76
|
+
duration: performance.now() - start
|
|
77
|
+
}, "[trpc] Completed procedure");
|
|
72
78
|
return procedure;
|
|
73
79
|
} catch (error) {
|
|
74
80
|
handleUnexpectedError(error, span, meta, procedureLogger, onInternalError);
|
package/package.json
CHANGED