Commit 51b841d
authored
Entity Error Visibility and Logging (#27)
* Add logger interface and implementations for structured debugging and error reporting
- Introduce `Logger` interface for debug, info, warn, and error-level logs.
- Add `NopLogger` for discarding log output.
- Implement `StdLogger` using the standard library to support structured logging with optional debug mode.
* Enhance `Toolkit` with structured logging for debugging and error reporting
- Initialize logger with `Logger` interface and added structured logging in debug mode.
- Log tool invocation, middleware hooks, handler results, and client connection selection.
- Improve error visibility with detailed log messages for middleware and client failures.
* Improve error messaging in `GetEntity` for better debugging and nil entity handling
* Add debug logging fields to `Config` struct for enhanced debugging and logging support
* Add `Debug` and `Logger` fields to `Config` for improved debug logging and configurability
* Add structured logging to `Client` for improved debugging and error reporting
- Introduced `Logger` to `Client` for better log management.
- Added detailed logs for query execution, retries, errors, and response processing.
- Implemented utility functions for operation name extraction and string truncation.
* Refactor `Client` to modularize error handling and response parsing
- Extract request error handling to `handleRequestError`.
- Add `checkStatusCode` for HTTP status code validation.
- Modularize GraphQL error processing with `handleGraphQLErrors`.
- Introduce `parseGraphQLResponse` for clearer response parsing logic.
* Add `Debug` and `Logger` fields to `Config` and update documentation for enhanced debugging support
* Refactor `APIClient` response parsing and add enhanced error handling utilities
* Document `DATAHUB_DEBUG` configuration option in server settings
* Document `DATAHUB_DEBUG` configuration option in README
* Add comprehensive unit tests for `helpers`, `logger`, and GraphQL response handling utilities
- Created tests for utility functions like `extractOperationName`, `truncateString`, and `joinStrings`.
- Added robust test cases for error handling in GraphQL response parsing and logger behavior.
- Verified structured logging and debug behavior for `StdLogger` and `NopLogger`.
* Handle GraphQL `null` data correctly in response parsing1 parent 08c46e8 commit 51b841d
12 files changed
Lines changed: 946 additions & 22 deletions
File tree
- docs
- reference
- server
- support
- pkg
- client
- tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
| 222 | + | |
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| 38 | + | |
| 39 | + | |
37 | 40 | | |
38 | 41 | | |
39 | 42 | | |
| |||
49 | 52 | | |
50 | 53 | | |
51 | 54 | | |
| 55 | + | |
| 56 | + | |
52 | 57 | | |
53 | 58 | | |
54 | 59 | | |
| |||
68 | 73 | | |
69 | 74 | | |
70 | 75 | | |
71 | | - | |
72 | | - | |
73 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
74 | 81 | | |
75 | 82 | | |
76 | 83 | | |
| |||
84 | 91 | | |
85 | 92 | | |
86 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
87 | 150 | | |
88 | 151 | | |
89 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
35 | 39 | | |
36 | 40 | | |
37 | 41 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
116 | 151 | | |
117 | 152 | | |
118 | 153 | | |
| |||
0 commit comments