Skip to content

Commit 94f657d

Browse files
authored
Additional log metadata on sync requests (#261)
* Setup a logger per request/connection. * Pass logger through to sync streams. * Add closeReason for websockets. * Fix some tests. * Log more granular stats on synced operations. * Add stream_ms, close_reason. * Add changeset. * Add some comments on closeReason.
1 parent c718286 commit 94f657d

File tree

27 files changed

+291
-168
lines changed

27 files changed

+291
-168
lines changed

.changeset/clever-months-travel.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
'@powersync/service-rsocket-router': minor
3+
'@powersync/service-core': minor
4+
'@powersync/lib-services-framework': minor
5+
'@powersync/service-image': minor
6+
'@powersync/service-module-postgres-storage': patch
7+
'@powersync/service-module-mongodb-storage': patch
8+
'@powersync/service-module-postgres': patch
9+
'@powersync/service-module-mongodb': patch
10+
'@powersync/service-module-mysql': patch
11+
'@powersync/service-sync-rules': patch
12+
'@powersync/lib-service-postgres': patch
13+
---
14+
15+
Add additional log metadata to sync requests.

libs/lib-postgres/package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@
3434
"p-defer": "^4.0.1",
3535
"ts-codec": "^1.3.0",
3636
"uri-js": "^4.4.1",
37-
"uuid": "^9.0.1"
37+
"uuid": "^11.1.0"
3838
},
39-
"devDependencies": {
40-
"@types/uuid": "^9.0.4"
41-
}
39+
"devDependencies": {}
4240
}

libs/lib-services/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@
2828
"ipaddr.js": "^2.1.0",
2929
"lodash": "^4.17.21",
3030
"ts-codec": "^1.3.0",
31-
"uuid": "^9.0.1",
31+
"uuid": "^11.1.0",
3232
"winston": "^3.13.0",
3333
"zod": "^3.23.8"
3434
},
3535
"devDependencies": {
3636
"@types/lodash": "^4.17.5",
37-
"@types/uuid": "^9.0.4",
3837
"vitest": "^3.0.5"
3938
}
4039
}

libs/lib-services/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export * from './container.js';
99
export * from './errors/errors-index.js';
1010
export * as errors from './errors/errors-index.js';
1111

12-
export * from './logger/Logger.js';
12+
export * from './logger/logger-index.js';
1313

1414
export * from './locks/locks-index.js';
1515
export * as locks from './locks/locks-index.js';
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
import winston from 'winston';
22

3-
export namespace Logger {
4-
export const development_format = winston.format.combine(
5-
winston.format.colorize({ level: true }),
6-
winston.format.simple()
7-
);
8-
export const production_format = winston.format.combine(winston.format.timestamp(), winston.format.json());
3+
export namespace LogFormat {
4+
export const development = winston.format.combine(winston.format.colorize({ level: true }), winston.format.simple());
5+
export const production = winston.format.combine(winston.format.timestamp(), winston.format.json());
96
}
107

118
export const logger = winston.createLogger();
129

1310
// Configure logging to console as the default
1411
logger.configure({
15-
format: process.env.NODE_ENV == 'production' ? Logger.production_format : Logger.development_format,
12+
format: process.env.NODE_ENV == 'production' ? LogFormat.production : LogFormat.development,
1613
transports: [new winston.transports.Console()]
1714
});
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
export * from './Logger.js';
2+
export { Logger } from 'winston';

libs/lib-services/src/router/router-response.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export type RouterResponseParams<T> = {
99
/**
1010
* Hook to be called after the response has been sent
1111
*/
12-
afterSend?: () => Promise<void>;
12+
afterSend?: (details: { clientClosed: boolean }) => Promise<void>;
1313
};
1414

1515
/**
@@ -21,7 +21,7 @@ export class RouterResponse<T = unknown> {
2121
status: number;
2222
data: T;
2323
headers: Record<string, string>;
24-
afterSend: () => Promise<void>;
24+
afterSend: (details: { clientClosed: boolean }) => Promise<void>;
2525

2626
__micro_router_response = true;
2727

modules/module-mongodb-storage/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,19 @@
2828
}
2929
},
3030
"dependencies": {
31+
"@powersync/lib-service-mongodb": "workspace:*",
3132
"@powersync/lib-services-framework": "workspace:*",
3233
"@powersync/service-core": "workspace:*",
3334
"@powersync/service-jsonbig": "workspace:*",
3435
"@powersync/service-sync-rules": "workspace:*",
3536
"@powersync/service-types": "workspace:*",
36-
"@powersync/lib-service-mongodb": "workspace:*",
3737
"bson": "^6.10.3",
38-
"ts-codec": "^1.3.0",
3938
"ix": "^5.0.0",
4039
"lru-cache": "^10.2.2",
41-
"uuid": "^9.0.1"
40+
"ts-codec": "^1.3.0",
41+
"uuid": "^11.1.0"
4242
},
4343
"devDependencies": {
44-
"@types/uuid": "^9.0.4",
4544
"@powersync/service-core-tests": "workspace:*"
4645
}
4746
}

modules/module-mongodb/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,17 @@
2828
}
2929
},
3030
"dependencies": {
31+
"@powersync/lib-service-mongodb": "workspace:*",
3132
"@powersync/lib-services-framework": "workspace:*",
3233
"@powersync/service-core": "workspace:*",
3334
"@powersync/service-jsonbig": "workspace:*",
3435
"@powersync/service-sync-rules": "workspace:*",
3536
"@powersync/service-types": "workspace:*",
36-
"@powersync/lib-service-mongodb": "workspace:*",
3737
"bson": "^6.10.3",
3838
"ts-codec": "^1.3.0",
39-
"uuid": "^9.0.1"
39+
"uuid": "^11.1.0"
4040
},
4141
"devDependencies": {
42-
"@types/uuid": "^9.0.4",
4342
"@powersync/service-core-tests": "workspace:*",
4443
"@powersync/service-module-mongodb-storage": "workspace:*",
4544
"@powersync/service-module-postgres-storage": "workspace:*"

modules/module-mysql/package.json

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,23 @@
2929
},
3030
"dependencies": {
3131
"@powersync/lib-services-framework": "workspace:*",
32+
"@powersync/mysql-zongji": "^0.1.0",
3233
"@powersync/service-core": "workspace:*",
34+
"@powersync/service-jsonbig": "workspace:*",
3335
"@powersync/service-sync-rules": "workspace:*",
3436
"@powersync/service-types": "workspace:*",
35-
"@powersync/service-jsonbig": "workspace:*",
36-
"@powersync/mysql-zongji": "^0.1.0",
37-
"semver": "^7.5.4",
3837
"async": "^3.2.4",
3938
"mysql2": "^3.11.0",
39+
"semver": "^7.5.4",
4040
"ts-codec": "^1.3.0",
4141
"uri-js": "^4.4.1",
42-
"uuid": "^9.0.1"
42+
"uuid": "^11.1.0"
4343
},
4444
"devDependencies": {
45-
"@types/semver": "^7.5.4",
46-
"@types/async": "^3.2.24",
47-
"@types/uuid": "^9.0.4",
4845
"@powersync/service-core-tests": "workspace:*",
4946
"@powersync/service-module-mongodb-storage": "workspace:*",
50-
"@powersync/service-module-postgres-storage": "workspace:*"
47+
"@powersync/service-module-postgres-storage": "workspace:*",
48+
"@types/async": "^3.2.24",
49+
"@types/semver": "^7.5.4"
5150
}
5251
}

0 commit comments

Comments
 (0)