@0xobelisk/graphql-server 1.2.0-pre.71 → 1.2.0-pre.72
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/DUAL_POOL_CONFIG.md +25 -9
- package/dist/config/subscription-config.js +1 -1
- package/dist/config/subscription-config.js.map +1 -1
- package/dist/plugins/enhanced-server-manager.js +1 -1
- package/dist/plugins/enhanced-server-manager.js.map +1 -1
- package/dist/plugins/postgraphile-config.js +3 -3
- package/dist/plugins/postgraphile-config.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/universal-subscriptions.js +5 -5
- package/dist/universal-subscriptions.js.map +1 -1
- package/eslint.config.mjs +3 -0
- package/package.json +15 -17
- package/src/cli.ts +2 -2
- package/src/config/subscription-config.ts +1 -1
- package/src/plugins/README.md +18 -3
- package/src/plugins/enhanced-server-manager.ts +1 -1
- package/src/plugins/postgraphile-config.ts +3 -3
- package/src/server.ts +2 -2
- package/src/universal-subscriptions.ts +5 -5
- package/src/utils/logger/README.md +33 -17
package/DUAL_POOL_CONFIG.md
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
5
|
The GraphQL server now uses a **unified connection pool architecture**, with a single connection pool handling all GraphQL operations:
|
|
6
|
+
|
|
6
7
|
- Query
|
|
7
|
-
- Mutation
|
|
8
|
+
- Mutation
|
|
8
9
|
- Subscription
|
|
9
10
|
|
|
10
11
|
## Connection Pool Parameters
|
|
@@ -12,18 +13,22 @@ The GraphQL server now uses a **unified connection pool architecture**, with a s
|
|
|
12
13
|
### Core Parameters
|
|
13
14
|
|
|
14
15
|
1. **`max`** - Maximum Connections
|
|
16
|
+
|
|
15
17
|
- The maximum number of connections the pool can create
|
|
16
18
|
- Should be set based on database server capacity and application requirements
|
|
17
19
|
|
|
18
20
|
2. **`min`** - Minimum Connections
|
|
21
|
+
|
|
19
22
|
- The minimum number of connections the pool maintains
|
|
20
23
|
- Usually set to around 10% of `max`
|
|
21
24
|
|
|
22
25
|
3. **`connectionTimeoutMillis`** - Connection Timeout
|
|
26
|
+
|
|
23
27
|
- Timeout for acquiring connections from the pool
|
|
24
28
|
- Balanced value: 10 seconds (supports various operations)
|
|
25
29
|
|
|
26
30
|
4. **`idleTimeoutMillis`** - Idle Timeout
|
|
31
|
+
|
|
27
32
|
- How long a connection stays idle before being disconnected
|
|
28
33
|
- Balanced value: 5 minutes (supports subscriptions while avoiding resource waste)
|
|
29
34
|
|
|
@@ -36,11 +41,11 @@ The GraphQL server now uses a **unified connection pool architecture**, with a s
|
|
|
36
41
|
```javascript
|
|
37
42
|
const pgPool = new Pool({
|
|
38
43
|
connectionString: DATABASE_URL,
|
|
39
|
-
max: config.maxConnections,
|
|
40
|
-
min: Math.min(5, Math.floor(config.maxConnections * 0.1)),
|
|
41
|
-
connectionTimeoutMillis: 10000,
|
|
42
|
-
idleTimeoutMillis: 600000,
|
|
43
|
-
maxLifetimeSeconds: 3600,
|
|
44
|
+
max: config.maxConnections, // Total connections
|
|
45
|
+
min: Math.min(5, Math.floor(config.maxConnections * 0.1)), // 10% minimum connections
|
|
46
|
+
connectionTimeoutMillis: 10000, // 10 second timeout
|
|
47
|
+
idleTimeoutMillis: 600000, // 10 minute idle cleanup
|
|
48
|
+
maxLifetimeSeconds: 3600, // 1 hour rotation
|
|
44
49
|
allowExitOnIdle: config.env === 'development'
|
|
45
50
|
});
|
|
46
51
|
```
|
|
@@ -77,7 +82,7 @@ Returns detailed status of the current connection pool:
|
|
|
77
82
|
### Status Field Descriptions
|
|
78
83
|
|
|
79
84
|
- **totalCount**: Current active connections
|
|
80
|
-
- **idleCount**: Idle connections
|
|
85
|
+
- **idleCount**: Idle connections
|
|
81
86
|
- **waitingCount**: Clients waiting for connections
|
|
82
87
|
- **maxConnections**: Configured maximum connections
|
|
83
88
|
- **minConnections**: Configured minimum connections
|
|
@@ -85,11 +90,12 @@ Returns detailed status of the current connection pool:
|
|
|
85
90
|
## Configuration Recommendations
|
|
86
91
|
|
|
87
92
|
### Basic Configuration
|
|
93
|
+
|
|
88
94
|
```bash
|
|
89
95
|
# Small applications (< 100 concurrent)
|
|
90
96
|
--max-connections 100
|
|
91
97
|
|
|
92
|
-
# Medium applications (100-500 concurrent)
|
|
98
|
+
# Medium applications (100-500 concurrent)
|
|
93
99
|
--max-connections 300
|
|
94
100
|
|
|
95
101
|
# Large applications (500+ concurrent)
|
|
@@ -97,13 +103,17 @@ Returns detailed status of the current connection pool:
|
|
|
97
103
|
```
|
|
98
104
|
|
|
99
105
|
### Subscription-Heavy Applications
|
|
106
|
+
|
|
100
107
|
If your application has many long-term subscription connections:
|
|
108
|
+
|
|
101
109
|
- Appropriately increase `idleTimeoutMillis` to 10-15 minutes
|
|
102
110
|
- Increase `maxLifetimeSeconds` to 2-4 hours
|
|
103
111
|
- Monitor `idleCount` to ensure sufficient idle connections for new requests
|
|
104
112
|
|
|
105
113
|
### Query-Heavy Applications
|
|
114
|
+
|
|
106
115
|
If your application is primarily short-term queries/mutations:
|
|
116
|
+
|
|
107
117
|
- Reduce `idleTimeoutMillis` to 1-2 minutes
|
|
108
118
|
- Reduce `maxLifetimeSeconds` to 30 minutes
|
|
109
119
|
- Monitor `waitingCount` to ensure the connection pool is large enough
|
|
@@ -113,6 +123,7 @@ If your application is primarily short-term queries/mutations:
|
|
|
113
123
|
### Connection Count Calculation Formula
|
|
114
124
|
|
|
115
125
|
Recommended maximum connection calculation:
|
|
126
|
+
|
|
116
127
|
```
|
|
117
128
|
maxConnections = min(
|
|
118
129
|
Database max connections * 0.8,
|
|
@@ -124,6 +135,7 @@ maxConnections = min(
|
|
|
124
135
|
### Monitoring Metrics
|
|
125
136
|
|
|
126
137
|
Key monitoring metrics:
|
|
138
|
+
|
|
127
139
|
1. **Connection Utilization** = `totalCount / maxConnections`
|
|
128
140
|
- Target: 60-80%
|
|
129
141
|
2. **Wait Queue** = `waitingCount`
|
|
@@ -136,15 +148,19 @@ Key monitoring metrics:
|
|
|
136
148
|
### Common Issues
|
|
137
149
|
|
|
138
150
|
1. **Connection Timeout**
|
|
151
|
+
|
|
139
152
|
```
|
|
140
153
|
Error: timeout acquiring a connection from the pool
|
|
141
154
|
```
|
|
155
|
+
|
|
142
156
|
Solution: Increase `maxConnections` or optimize query performance
|
|
143
157
|
|
|
144
158
|
2. **Insufficient Connections**
|
|
159
|
+
|
|
145
160
|
```
|
|
146
161
|
Error: remaining connection slots are reserved
|
|
147
162
|
```
|
|
163
|
+
|
|
148
164
|
Solution: Check database connection limits, adjust `maxConnections`
|
|
149
165
|
|
|
150
166
|
3. **Subscription Disconnections**
|
|
@@ -169,4 +185,4 @@ Key monitoring metrics:
|
|
|
169
185
|
|
|
170
186
|
## Summary
|
|
171
187
|
|
|
172
|
-
The unified connection pool architecture simplifies configuration and management. Through proper parameter settings, it can effectively support various GraphQL operation modes. The key is to tune based on actual monitoring data to ensure a balance between resource efficiency and performance.
|
|
188
|
+
The unified connection pool architecture simplifies configuration and management. Through proper parameter settings, it can effectively support various GraphQL operation modes. The key is to tune based on actual monitoring data to ensure a balance between resource efficiency and performance.
|
|
@@ -31,7 +31,7 @@ class SubscriptionConfigManager {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
// Detect database WAL level
|
|
34
|
-
detectWalLevel(
|
|
34
|
+
detectWalLevel(_databaseUrl) {
|
|
35
35
|
// In actual applications should query database
|
|
36
36
|
// SELECT setting FROM pg_settings WHERE name = 'wal_level';
|
|
37
37
|
// Currently return default value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-config.js","sourceRoot":"","sources":["../../src/config/subscription-config.ts"],"names":[],"mappings":";AAAA,mGAAmG;;;AA8CnG,MAAa,yBAAyB;IAC5B,MAAM,CAAqB;IAEnC,YAAY,WAAoC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,4CAA4C;IACpC,gBAAgB,CAAC,KAA8B;QACrD,MAAM,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAEtD,yEAAyE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAExD,gHAAgH;QAChH,MAAM,YAAY,GAA6B;YAC7C,WAAW,EACT,mBAAmB,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS;YAEpF,eAAe,EAAE,mBAAmB,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK;YAE7E,eAAe,EAAE,mBAAmB,IAAI,KAAK,CAAC,qBAAqB,KAAK,KAAK;SAC9E,CAAC;QAEF,OAAO;YACL,mBAAmB;YACnB,YAAY;YACZ,QAAQ;YAER,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;YACjC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAE5E,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC;YACxD,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC;YAE/D,yBAAyB,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI;YAC5D,wBAAwB,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI;SACvD,CAAC;IACJ,CAAC;IAED,4BAA4B;IACpB,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"subscription-config.js","sourceRoot":"","sources":["../../src/config/subscription-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,7 +134,7 @@ class EnhancedServerManager {
|
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
// Error handling middleware
|
|
137
|
-
app.use((err, req, res,
|
|
137
|
+
app.use((err, req, res, _next) => {
|
|
138
138
|
logger_1.serverLogger.error('Express error handling', err, {
|
|
139
139
|
url: req.originalUrl,
|
|
140
140
|
method: req.method,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-server-manager.js","sourceRoot":"","sources":["../../src/plugins/enhanced-server-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enhanced-server-manager.js","sourceRoot":"","sources":["../../src/plugins/enhanced-server-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,8 @@ function createPostGraphileConfig(options) {
|
|
|
18
18
|
const { port, nodeEnv, graphqlEndpoint, enableSubscriptions, enableCors, availableTables } = options;
|
|
19
19
|
// Build GraphQL and WebSocket endpoint URLs
|
|
20
20
|
const baseUrl = `http://localhost:${port}`;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
21
|
+
const _graphqlUrl = `${baseUrl}${graphqlEndpoint}`;
|
|
22
|
+
const _subscriptionUrl = enableSubscriptions === 'true' ? `ws://localhost:${port}${graphqlEndpoint}` : undefined;
|
|
23
23
|
// Create plugin hook to support WebSocket and subscriptions
|
|
24
24
|
const pluginHook = (0, postgraphile_1.makePluginHook)([pg_pubsub_1.default]);
|
|
25
25
|
const config = {
|
|
@@ -122,7 +122,7 @@ function createPostGraphileConfig(options) {
|
|
|
122
122
|
}
|
|
123
123
|
// Export enhanced playground HTML generator
|
|
124
124
|
function createPlaygroundHtml(options) {
|
|
125
|
-
const {
|
|
125
|
+
const { graphqlEndpoint, enableSubscriptions, availableTables } = options;
|
|
126
126
|
// Use relative URLs so playground connects to the same domain as the server
|
|
127
127
|
const graphqlUrl = graphqlEndpoint;
|
|
128
128
|
const subscriptionUrl = enableSubscriptions === 'true' ? graphqlEndpoint : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgraphile-config.js","sourceRoot":"","sources":["../../src/plugins/postgraphile-config.ts"],"names":[],"mappings":";;;;;AAwBA,4DAyIC;AAGD,oDAiBC;AArLD,iDAAmD;AACnD,mDAAqD;AACrD,yEAAmE;AACnE,+DAAiE;AACjE,kHAA2E;AAC3E,oGAAgF;AAChF,+CAA8C;AAC9C,oEAA2C;AAgB3C,oCAAoC;AACpC,SAAgB,wBAAwB,CAAC,OAAkC;IACzE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,GACxF,OAAO,CAAC;IAEV,4CAA4C;IAC5C,MAAM,OAAO,GAAG,oBAAoB,IAAI,EAAE,CAAC;IAC3C,MAAM,
|
|
1
|
+
{"version":3,"file":"postgraphile-config.js","sourceRoot":"","sources":["../../src/plugins/postgraphile-config.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -88,14 +88,14 @@ const startServer = async (config) => {
|
|
|
88
88
|
allowExitOnIdle: config.env === 'development'
|
|
89
89
|
});
|
|
90
90
|
// Add connection pool event listeners
|
|
91
|
-
pgPool.on('connect', (
|
|
91
|
+
pgPool.on('connect', (_client) => {
|
|
92
92
|
logger_1.dbLogger.debug('📤 New connection established', {
|
|
93
93
|
totalCount: pgPool.totalCount,
|
|
94
94
|
idleCount: pgPool.idleCount,
|
|
95
95
|
waitingCount: pgPool.waitingCount
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
|
-
pgPool.on('error', (err,
|
|
98
|
+
pgPool.on('error', (err, _client) => {
|
|
99
99
|
logger_1.dbLogger.error('❌ Connection pool error', err, {
|
|
100
100
|
totalCount: pgPool.totalCount
|
|
101
101
|
});
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4C;AAC5C,2BAA0B;AAC1B,+CAAiC;AACjC,2CAMwB;AACxB,uCAKmB;AACnB,+EAA0E;AAC1E,sEAA2F;AAC3F,uEAGmC;AAEnC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAgChB,eAAe;AACR,MAAM,WAAW,GAAG,KAAK,EAAE,MAAoB,EAAiB,EAAE;IACvE,sEAAsE;IACtE,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAExD,gCAAgC;IAChC,MAAM,EACJ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,WAAW,EACjB,aAAa,EAAE,yBAAyB,EACxC,GAAG,EAAE,QAAQ,EACd,GAAG,MAAM,CAAC;IAEX,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1E,+CAA+C;IAC/C,qBAAY,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAChF,MAAM,uBAAuB,GAA4B;QACvD,mBAAmB,EAAE,yBAAyB;QAC9C,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,IAAI;QACV,0DAA0D;QAC1D,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE;QAC7C,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;QAChD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE;QACtD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;IAEF,wCAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpD,mFAAmF;IAEnF,qBAAY,CAAC,IAAI,CAAC,kCAAkC,EAAE;QACpD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,qBAAqB;QAC/B,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC;KAClD,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAI,SAAI,CAAC;QACtB,gBAAgB,EAAE,YAAY;QAE9B,wCAAwC;QACxC,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,qCAAqC;QACjE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,EAAE,2BAA2B;QAEtF,8FAA8F;QAC9F,uBAAuB,EAAE,KAAK,EAAE,qCAAqC;QACrE,iBAAiB,EAAE,MAAM,EAAE,kEAAkE;QAC7F,kBAAkB,EAAE,IAAI,EAAE,6CAA6C;QAEvE,eAAe,EAAE,MAAM,CAAC,GAAG,KAAK,aAAa;KAC9C,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,7 +61,7 @@ async function generateStoreTablesInfo(pgPool) {
|
|
|
61
61
|
* Simplified tools plugin - only provides basic query functionality, let PostGraphile's built-in listen subscriptions work normally
|
|
62
62
|
*/
|
|
63
63
|
function createUniversalSubscriptionsPlugin(preGeneratedTables) {
|
|
64
|
-
return (0, postgraphile_1.makeExtendSchemaPlugin)((
|
|
64
|
+
return (0, postgraphile_1.makeExtendSchemaPlugin)((_build) => {
|
|
65
65
|
logger_1.subscriptionLogger.info('Enabling simplified tools plugin - only keeping basic query functionality');
|
|
66
66
|
// Use pre-generated table information if available
|
|
67
67
|
if (preGeneratedTables && Object.keys(preGeneratedTables).length > 0) {
|
|
@@ -93,7 +93,7 @@ function createUniversalSubscriptionsPlugin(preGeneratedTables) {
|
|
|
93
93
|
`,
|
|
94
94
|
resolvers: {
|
|
95
95
|
Query: {
|
|
96
|
-
storeSchema: async (root, args, context,
|
|
96
|
+
storeSchema: async (root, args, context, _info) => {
|
|
97
97
|
const { pgClient } = context;
|
|
98
98
|
try {
|
|
99
99
|
const tables = await discoverStoreTables(pgClient);
|
|
@@ -109,10 +109,10 @@ function createUniversalSubscriptionsPlugin(preGeneratedTables) {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
|
-
storeData: async (root, args, context,
|
|
112
|
+
storeData: async (root, args, context, _info) => {
|
|
113
113
|
return await executeTableQuery(context, args.table);
|
|
114
114
|
},
|
|
115
|
-
availableStoreTables: async (root, args, context,
|
|
115
|
+
availableStoreTables: async (root, args, context, _info) => {
|
|
116
116
|
const { pgClient } = context;
|
|
117
117
|
try {
|
|
118
118
|
const tables = await discoverStoreTables(pgClient);
|
|
@@ -173,7 +173,7 @@ async function getTableInfo(pgClient, fullTableName) {
|
|
|
173
173
|
`, [tableName]);
|
|
174
174
|
tableFieldsKeys = tableFieldsResult.rows.map((row) => row.field_name);
|
|
175
175
|
}
|
|
176
|
-
catch (
|
|
176
|
+
catch (_e) {
|
|
177
177
|
// table_fields table may not exist, ignore error
|
|
178
178
|
}
|
|
179
179
|
// 4. Get data statistics
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-subscriptions.js","sourceRoot":"","sources":["../src/universal-subscriptions.ts"],"names":[],"mappings":";;;AA8EA,0DAWC;AAKD,gFAyEC;AAvKD,+CAA2D;AAC3D,2CAAoD;AA0BpD,2BAA2B;AAC3B,IAAI,YAAY,GAA8B,EAAE,CAAC;AACjD,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,QAAa;IAC9C,IAAI,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CAAC;QACH,2BAAkB,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAEnF,4BAA4B;QAC5B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;;;;;;GAM3C,CAAC,CAAC;QAED,MAAM,MAAM,GAA8B,EAAE,CAAC;QAE7C,6CAA6C;QAC7C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC;YAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAEvD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC9D,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,YAAY,GAAG,MAAM,CAAC;QACtB,eAAe,GAAG,IAAI,CAAC;QAEvB,2BAAkB,CAAC,IAAI,CACrB,cAAc,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,kBAAkB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2BAAkB,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAAC,MAAW;IACvD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnD,2BAAkB,CAAC,IAAI,CACrB,wCAAwC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,SAAS,CAC5E,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kCAAkC,CAAC,kBAA8C;IAC/F,OAAO,IAAA,qCAAsB,EAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"universal-subscriptions.js","sourceRoot":"","sources":["../src/universal-subscriptions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xobelisk/graphql-server",
|
|
3
|
-
"version": "1.2.0-pre.
|
|
3
|
+
"version": "1.2.0-pre.72",
|
|
4
4
|
"description": "Tookit for interacting with dubhe graphql server",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"bin": {
|
|
8
|
-
"dubhe-graphql-server": "dist/cli.js"
|
|
9
|
-
},
|
|
10
5
|
"keywords": [
|
|
11
6
|
"graphql",
|
|
12
7
|
"postgraphile",
|
|
@@ -16,14 +11,17 @@
|
|
|
16
11
|
"postgresql",
|
|
17
12
|
"dynamic"
|
|
18
13
|
],
|
|
19
|
-
"author": "Dubhe Team",
|
|
20
14
|
"license": "MIT",
|
|
15
|
+
"author": "Dubhe Team",
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"bin": {
|
|
19
|
+
"dubhe-graphql-server": "dist/cli.js"
|
|
20
|
+
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@graphile-contrib/pg-simplify-inflector": "^6.1.0",
|
|
23
23
|
"@graphile/pg-pubsub": "^4.14.1",
|
|
24
24
|
"@graphile/subscriptions-lds": "^4.14.1",
|
|
25
|
-
"apollo-server-express": "^3.13.0",
|
|
26
|
-
"yargs": "^17.7.2",
|
|
27
25
|
"cors": "^2.8.5",
|
|
28
26
|
"dotenv": "^16.3.1",
|
|
29
27
|
"express": "^4.21.2",
|
|
@@ -37,7 +35,8 @@
|
|
|
37
35
|
"pino-pretty": "^10.2.3",
|
|
38
36
|
"postgraphile": "^4.13.0",
|
|
39
37
|
"postgraphile-plugin-connection-filter": "^2.3.0",
|
|
40
|
-
"ws": "^8.14.2"
|
|
38
|
+
"ws": "^8.14.2",
|
|
39
|
+
"yargs": "^17.7.2"
|
|
41
40
|
},
|
|
42
41
|
"devDependencies": {
|
|
43
42
|
"@types/cors": "^2.8.18",
|
|
@@ -48,7 +47,7 @@
|
|
|
48
47
|
"@types/yargs": "^17.0.24",
|
|
49
48
|
"@typescript-eslint/eslint-plugin": "^6.9.1",
|
|
50
49
|
"@typescript-eslint/parser": "^6.9.1",
|
|
51
|
-
"eslint": "^
|
|
50
|
+
"eslint": "^9.0.0",
|
|
52
51
|
"jest": "^29.7.0",
|
|
53
52
|
"nodemon": "^3.1.10",
|
|
54
53
|
"ts-node": "^10.9.1",
|
|
@@ -59,18 +58,17 @@
|
|
|
59
58
|
"node": ">=22.0.0"
|
|
60
59
|
},
|
|
61
60
|
"scripts": {
|
|
61
|
+
"build": "pnpm run type-check && tsc",
|
|
62
62
|
"dev": "ts-node src/cli.ts start",
|
|
63
|
-
"dev:watch": "nodemon --exec \"ts-node src/cli.ts start\"",
|
|
64
63
|
"dev:cli": "ts-node src/cli.ts start",
|
|
65
|
-
"
|
|
64
|
+
"dev:watch": "nodemon --exec \"ts-node src/cli.ts start\"",
|
|
65
|
+
"lint": "eslint . --ext .ts",
|
|
66
66
|
"start": "pnpm start:cli",
|
|
67
67
|
"start:cli": "node dist/cli.js start",
|
|
68
68
|
"test": "jest",
|
|
69
|
-
"test:subscription": "node test-subscription.js",
|
|
70
|
-
"test:enhanced": "node test_enhanced_subscriptions.js",
|
|
71
69
|
"test:all": "node test_all_subscriptions.js",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
70
|
+
"test:enhanced": "node test_enhanced_subscriptions.js",
|
|
71
|
+
"test:subscription": "node test-subscription.js",
|
|
74
72
|
"type-check": "tsc --noEmit"
|
|
75
73
|
}
|
|
76
74
|
}
|
package/src/cli.ts
CHANGED
|
@@ -85,7 +85,7 @@ export class SubscriptionConfigManager {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
// Detect database WAL level
|
|
88
|
-
private detectWalLevel(
|
|
88
|
+
private detectWalLevel(_databaseUrl?: string): 'minimal' | 'replica' | 'logical' {
|
|
89
89
|
// In actual applications should query database
|
|
90
90
|
// SELECT setting FROM pg_settings WHERE name = 'wal_level';
|
|
91
91
|
|
package/src/plugins/README.md
CHANGED
|
@@ -7,16 +7,18 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
7
7
|
### Core Plugins
|
|
8
8
|
|
|
9
9
|
#### `database-introspector.ts` - Database Introspector
|
|
10
|
+
|
|
10
11
|
- **Function**: Scan and analyze database table structure
|
|
11
12
|
- **Main Class**: `DatabaseIntrospector`
|
|
12
13
|
- **Responsibilities**:
|
|
13
|
-
- Get
|
|
14
|
+
- Get store\_\* dynamic tables
|
|
14
15
|
- Get system tables (dubhe related)
|
|
15
16
|
- Get field information from table_fields
|
|
16
17
|
- Test database connection
|
|
17
18
|
- Output table structure logs
|
|
18
19
|
|
|
19
20
|
#### `welcome-page.ts` - Welcome Page Generator
|
|
21
|
+
|
|
20
22
|
- **Function**: Generate server homepage
|
|
21
23
|
- **Main Function**: `createWelcomePage()`
|
|
22
24
|
- **Responsibilities**:
|
|
@@ -26,6 +28,7 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
26
28
|
- Responsive design and beautiful interface
|
|
27
29
|
|
|
28
30
|
#### `postgraphile-config.ts` - PostGraphile Configuration Generator
|
|
31
|
+
|
|
29
32
|
- **Function**: Create PostGraphile configuration
|
|
30
33
|
- **Main Function**: `createPostGraphileConfig()`
|
|
31
34
|
- **Responsibilities**:
|
|
@@ -35,6 +38,7 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
35
38
|
- Optimize performance parameters
|
|
36
39
|
|
|
37
40
|
#### `subscription-manager.ts` - Subscription Manager
|
|
41
|
+
|
|
38
42
|
- **Function**: Manage GraphQL subscription features
|
|
39
43
|
- **Main Class**: `SubscriptionManager`
|
|
40
44
|
- **Responsibilities**:
|
|
@@ -44,6 +48,7 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
44
48
|
- Output subscription status information
|
|
45
49
|
|
|
46
50
|
#### `server-manager.ts` - Server Manager
|
|
51
|
+
|
|
47
52
|
- **Function**: Manage HTTP and WebSocket servers
|
|
48
53
|
- **Main Class**: `ServerManager`
|
|
49
54
|
- **Responsibilities**:
|
|
@@ -53,6 +58,7 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
53
58
|
- Graceful shutdown handling
|
|
54
59
|
|
|
55
60
|
#### `enhanced-playground.ts` - Enhanced GraphQL Playground
|
|
61
|
+
|
|
56
62
|
- **Function**: Provide modern GraphQL IDE
|
|
57
63
|
- **Main Function**: `createEnhancedPlayground()`
|
|
58
64
|
- **Responsibilities**:
|
|
@@ -64,17 +70,19 @@ This directory contains various functional module plugins for the Sui Indexer Gr
|
|
|
64
70
|
## 🔧 Usage
|
|
65
71
|
|
|
66
72
|
### Unified Import
|
|
73
|
+
|
|
67
74
|
```typescript
|
|
68
75
|
import {
|
|
69
76
|
DatabaseIntrospector,
|
|
70
77
|
createPostGraphileConfig,
|
|
71
78
|
SubscriptionManager,
|
|
72
79
|
ServerManager,
|
|
73
|
-
WelcomePageConfig
|
|
80
|
+
WelcomePageConfig
|
|
74
81
|
} from './plugins';
|
|
75
82
|
```
|
|
76
83
|
|
|
77
84
|
### Typical Usage Flow
|
|
85
|
+
|
|
78
86
|
1. **Database Scanning**: Use `DatabaseIntrospector` to get table structure
|
|
79
87
|
2. **Subscription Configuration**: Load plugins through `SubscriptionManager`
|
|
80
88
|
3. **Configuration Generation**: Create configuration using `createPostGraphileConfig`
|
|
@@ -83,21 +91,25 @@ import {
|
|
|
83
91
|
## 🎯 Design Advantages
|
|
84
92
|
|
|
85
93
|
### Modular Design
|
|
94
|
+
|
|
86
95
|
- Each plugin has a single clear responsibility
|
|
87
96
|
- Easy to test and maintain individually
|
|
88
97
|
- Supports independent upgrades and replacements
|
|
89
98
|
|
|
90
99
|
### Type Safety
|
|
100
|
+
|
|
91
101
|
- Complete TypeScript support
|
|
92
102
|
- Clear interface definitions
|
|
93
103
|
- Compile-time error checking
|
|
94
104
|
|
|
95
105
|
### Extensibility
|
|
106
|
+
|
|
96
107
|
- Plugin architecture easy to extend
|
|
97
108
|
- Supports custom plugin development
|
|
98
109
|
- Flexible and adjustable configuration
|
|
99
110
|
|
|
100
111
|
### Error Handling
|
|
112
|
+
|
|
101
113
|
- Graceful error degradation
|
|
102
114
|
- Detailed log output
|
|
103
115
|
- Fault isolation protection
|
|
@@ -105,19 +117,22 @@ import {
|
|
|
105
117
|
## 📈 Extension Guide
|
|
106
118
|
|
|
107
119
|
### Adding New Plugins
|
|
120
|
+
|
|
108
121
|
1. Create new file in `plugins/` directory
|
|
109
122
|
2. Export main interfaces and classes
|
|
110
123
|
3. Add export in `index.ts`
|
|
111
124
|
4. Update main entry file to use
|
|
112
125
|
|
|
113
126
|
### Custom Configuration
|
|
127
|
+
|
|
114
128
|
- Pass configuration through environment variables
|
|
115
129
|
- Use interfaces to define configuration structure
|
|
116
130
|
- Support runtime dynamic configuration
|
|
117
131
|
|
|
118
132
|
### Plugin Integration
|
|
133
|
+
|
|
119
134
|
- Follow unified error handling patterns
|
|
120
135
|
- Use consistent log formats
|
|
121
136
|
- Maintain interface compatibility
|
|
122
137
|
|
|
123
|
-
This architecture makes the GraphQL server more modular, maintainable, and provides a solid foundation for future feature extensions.
|
|
138
|
+
This architecture makes the GraphQL server more modular, maintainable, and provides a solid foundation for future feature extensions.
|
|
@@ -162,7 +162,7 @@ export class EnhancedServerManager {
|
|
|
162
162
|
});
|
|
163
163
|
|
|
164
164
|
// Error handling middleware
|
|
165
|
-
app.use((err: Error, req: Request, res: Response,
|
|
165
|
+
app.use((err: Error, req: Request, res: Response, _next: express.NextFunction) => {
|
|
166
166
|
serverLogger.error('Express error handling', err, {
|
|
167
167
|
url: req.originalUrl,
|
|
168
168
|
method: req.method,
|
|
@@ -28,8 +28,8 @@ export function createPostGraphileConfig(options: PostGraphileConfigOptions) {
|
|
|
28
28
|
|
|
29
29
|
// Build GraphQL and WebSocket endpoint URLs
|
|
30
30
|
const baseUrl = `http://localhost:${port}`;
|
|
31
|
-
const
|
|
32
|
-
const
|
|
31
|
+
const _graphqlUrl = `${baseUrl}${graphqlEndpoint}`;
|
|
32
|
+
const _subscriptionUrl =
|
|
33
33
|
enableSubscriptions === 'true' ? `ws://localhost:${port}${graphqlEndpoint}` : undefined;
|
|
34
34
|
|
|
35
35
|
// Create plugin hook to support WebSocket and subscriptions
|
|
@@ -163,7 +163,7 @@ export function createPostGraphileConfig(options: PostGraphileConfigOptions) {
|
|
|
163
163
|
|
|
164
164
|
// Export enhanced playground HTML generator
|
|
165
165
|
export function createPlaygroundHtml(options: PostGraphileConfigOptions): string {
|
|
166
|
-
const {
|
|
166
|
+
const { graphqlEndpoint, enableSubscriptions, availableTables } = options;
|
|
167
167
|
|
|
168
168
|
// Use relative URLs so playground connects to the same domain as the server
|
|
169
169
|
const graphqlUrl = graphqlEndpoint;
|
package/src/server.ts
CHANGED
|
@@ -117,7 +117,7 @@ export const startServer = async (config: ServerConfig): Promise<void> => {
|
|
|
117
117
|
});
|
|
118
118
|
|
|
119
119
|
// Add connection pool event listeners
|
|
120
|
-
pgPool.on('connect', (
|
|
120
|
+
pgPool.on('connect', (_client) => {
|
|
121
121
|
dbLogger.debug('📤 New connection established', {
|
|
122
122
|
totalCount: pgPool.totalCount,
|
|
123
123
|
idleCount: pgPool.idleCount,
|
|
@@ -125,7 +125,7 @@ export const startServer = async (config: ServerConfig): Promise<void> => {
|
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
127
|
|
|
128
|
-
pgPool.on('error', (err,
|
|
128
|
+
pgPool.on('error', (err, _client) => {
|
|
129
129
|
dbLogger.error('❌ Connection pool error', err, {
|
|
130
130
|
totalCount: pgPool.totalCount
|
|
131
131
|
});
|
|
@@ -93,7 +93,7 @@ export async function generateStoreTablesInfo(pgPool: any): Promise<Record<strin
|
|
|
93
93
|
* Simplified tools plugin - only provides basic query functionality, let PostGraphile's built-in listen subscriptions work normally
|
|
94
94
|
*/
|
|
95
95
|
export function createUniversalSubscriptionsPlugin(preGeneratedTables?: Record<string, TableInfo>) {
|
|
96
|
-
return makeExtendSchemaPlugin((
|
|
96
|
+
return makeExtendSchemaPlugin((_build) => {
|
|
97
97
|
subscriptionLogger.info(
|
|
98
98
|
'Enabling simplified tools plugin - only keeping basic query functionality'
|
|
99
99
|
);
|
|
@@ -131,7 +131,7 @@ export function createUniversalSubscriptionsPlugin(preGeneratedTables?: Record<s
|
|
|
131
131
|
|
|
132
132
|
resolvers: {
|
|
133
133
|
Query: {
|
|
134
|
-
storeSchema: async (root: any, args: any, context: any,
|
|
134
|
+
storeSchema: async (root: any, args: any, context: any, _info: any) => {
|
|
135
135
|
const { pgClient } = context;
|
|
136
136
|
try {
|
|
137
137
|
const tables = await discoverStoreTables(pgClient);
|
|
@@ -147,11 +147,11 @@ export function createUniversalSubscriptionsPlugin(preGeneratedTables?: Record<s
|
|
|
147
147
|
}
|
|
148
148
|
},
|
|
149
149
|
|
|
150
|
-
storeData: async (root: any, args: any, context: any,
|
|
150
|
+
storeData: async (root: any, args: any, context: any, _info: any) => {
|
|
151
151
|
return await executeTableQuery(context, args.table);
|
|
152
152
|
},
|
|
153
153
|
|
|
154
|
-
availableStoreTables: async (root: any, args: any, context: any,
|
|
154
|
+
availableStoreTables: async (root: any, args: any, context: any, _info: any) => {
|
|
155
155
|
const { pgClient } = context;
|
|
156
156
|
try {
|
|
157
157
|
const tables = await discoverStoreTables(pgClient);
|
|
@@ -225,7 +225,7 @@ async function getTableInfo(pgClient: any, fullTableName: string): Promise<Table
|
|
|
225
225
|
[tableName]
|
|
226
226
|
);
|
|
227
227
|
tableFieldsKeys = tableFieldsResult.rows.map((row: any) => row.field_name);
|
|
228
|
-
} catch (
|
|
228
|
+
} catch (_e) {
|
|
229
229
|
// table_fields table may not exist, ignore error
|
|
230
230
|
}
|
|
231
231
|
|
|
@@ -64,11 +64,11 @@ myLogger.info('Custom log message');
|
|
|
64
64
|
|
|
65
65
|
```typescript
|
|
66
66
|
interface LoggerConfig {
|
|
67
|
-
level?: string;
|
|
68
|
-
service?: string;
|
|
69
|
-
component?: string;
|
|
67
|
+
level?: string; // Log level (debug|info|warn|error)
|
|
68
|
+
service?: string; // Service name
|
|
69
|
+
component?: string; // Component name
|
|
70
70
|
enableFileLogging?: boolean; // Enable file logging
|
|
71
|
-
logsDir?: string;
|
|
71
|
+
logsDir?: string; // Log file directory
|
|
72
72
|
enablePrettyPrint?: boolean; // Enable colorful output
|
|
73
73
|
}
|
|
74
74
|
```
|
|
@@ -111,16 +111,16 @@ logGraphQLQuery('query', 'query GetUsers { users { id name } }', { limit: 10 });
|
|
|
111
111
|
|
|
112
112
|
## Predefined Component Loggers
|
|
113
113
|
|
|
114
|
-
| Logger
|
|
115
|
-
|
|
116
|
-
| `dbLogger`
|
|
117
|
-
| `serverLogger`
|
|
118
|
-
| `wsLogger`
|
|
119
|
-
| `gqlLogger`
|
|
120
|
-
| `subscriptionLogger` | subscription | Subscription features
|
|
121
|
-
| `systemLogger`
|
|
122
|
-
| `authLogger`
|
|
123
|
-
| `perfLogger`
|
|
114
|
+
| Logger | Component | Purpose |
|
|
115
|
+
| -------------------- | ------------ | ---------------------- |
|
|
116
|
+
| `dbLogger` | database | Database operations |
|
|
117
|
+
| `serverLogger` | server | Server related |
|
|
118
|
+
| `wsLogger` | websocket | WebSocket connections |
|
|
119
|
+
| `gqlLogger` | graphql | GraphQL queries |
|
|
120
|
+
| `subscriptionLogger` | subscription | Subscription features |
|
|
121
|
+
| `systemLogger` | system | System level |
|
|
122
|
+
| `authLogger` | auth | Authentication |
|
|
123
|
+
| `perfLogger` | performance | Performance monitoring |
|
|
124
124
|
|
|
125
125
|
## Environment Variables
|
|
126
126
|
|
|
@@ -130,13 +130,23 @@ logGraphQLQuery('query', 'query GetUsers { users { id name } }', { limit: 10 });
|
|
|
130
130
|
## Log Format
|
|
131
131
|
|
|
132
132
|
### Development Environment (Pretty Print)
|
|
133
|
+
|
|
133
134
|
```
|
|
134
135
|
2024-01-15 10:30:45 [INFO] dubhe-graphql-server [database]: Database connection successful {"host": "localhost", "port": 5432}
|
|
135
136
|
```
|
|
136
137
|
|
|
137
138
|
### Production Environment (JSON)
|
|
139
|
+
|
|
138
140
|
```json
|
|
139
|
-
{
|
|
141
|
+
{
|
|
142
|
+
"level": 30,
|
|
143
|
+
"time": "2024-01-15T10:30:45.123Z",
|
|
144
|
+
"service": "dubhe-graphql-server",
|
|
145
|
+
"component": "database",
|
|
146
|
+
"msg": "Database connection successful",
|
|
147
|
+
"host": "localhost",
|
|
148
|
+
"port": 5432
|
|
149
|
+
}
|
|
140
150
|
```
|
|
141
151
|
|
|
142
152
|
## Advanced Usage
|
|
@@ -154,7 +164,11 @@ class CustomLogger extends Logger {
|
|
|
154
164
|
// Add custom methods
|
|
155
165
|
public audit(action: string, userId: string, meta?: any) {
|
|
156
166
|
const auditLogger = this.createComponentLogger('audit');
|
|
157
|
-
auditLogger.info(`User action: ${action}`, {
|
|
167
|
+
auditLogger.info(`User action: ${action}`, {
|
|
168
|
+
userId,
|
|
169
|
+
timestamp: new Date().toISOString(),
|
|
170
|
+
...meta
|
|
171
|
+
});
|
|
158
172
|
}
|
|
159
173
|
}
|
|
160
174
|
|
|
@@ -179,15 +193,17 @@ pinoInstance.info({ customField: 'value' }, 'Using Pino directly');
|
|
|
179
193
|
Migrating from winston to the new Logger system:
|
|
180
194
|
|
|
181
195
|
### Before (Winston)
|
|
196
|
+
|
|
182
197
|
```typescript
|
|
183
198
|
import logger from './logger';
|
|
184
199
|
logger.info('Message', { meta: 'data' });
|
|
185
200
|
```
|
|
186
201
|
|
|
187
202
|
### Now (Pino + Class)
|
|
203
|
+
|
|
188
204
|
```typescript
|
|
189
205
|
import { systemLogger } from './utils/logger';
|
|
190
206
|
systemLogger.info('Message', { meta: 'data' });
|
|
191
207
|
```
|
|
192
208
|
|
|
193
|
-
Most APIs remain compatible, just need to update import paths.
|
|
209
|
+
Most APIs remain compatible, just need to update import paths.
|