Skip to content

Commit a8f280f

Browse files
committed
feat(ip): log ip and session id
1 parent eefdf38 commit a8f280f

File tree

4 files changed

+35
-8
lines changed

4 files changed

+35
-8
lines changed

.trunk/trunk.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
version: 0.1
22
cli:
3-
version: 1.17.1
3+
version: 1.17.2
44
plugins:
55
sources:
66
- id: trunk
7-
ref: v1.2.6
7+
ref: v1.3.0
88
uri: https://github.com/trunk-io/plugins
99
lint:
1010
enabled:
1111
12-
- checkov@3.0.22
13-
- eslint@8.53.0
12+
- checkov@3.1.9
13+
- eslint@8.54.0
1414
- git-diff-check
1515
1616
17-
- prettier@3.0.3
17+
- prettier@3.1.0
1818
19-
- trufflehog@3.62.1
20-
- yamllint@1.32.0
19+
- trufflehog@3.63.2-rc0
20+
- yamllint@1.33.0
2121
ignore:
2222
- linters: [ALL]
2323
paths:

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@
9292
"minimist": "^1.2.8",
9393
"opentelemetry-instrumentation-fetch-node": "^1.1.2",
9494
"pino": "^8.16.2",
95-
"read-pkg-up": "^7.0.1"
95+
"read-pkg-up": "^7.0.1",
96+
"request-ip": "^3.3.0"
9697
},
9798
"devDependencies": {
9899
"@commitlint/cli": "^18.4.2",
@@ -109,6 +110,7 @@
109110
"@types/lodash": "^4.14.201",
110111
"@types/minimist": "^1.2.5",
111112
"@types/node": "^20.9.1",
113+
"@types/request-ip": "^0.0.41",
112114
"@types/supertest": "^2.0.16",
113115
"@typescript-eslint/eslint-plugin": "^6.11.0",
114116
"@typescript-eslint/parser": "^6.11.0",

src/telemetry/requestLogger.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { RequestHandler, Request, Response, ErrorRequestHandler } from 'express';
2+
import requestip from 'request-ip';
23
import { Histogram } from '@opentelemetry/api';
34

45
import { ServiceError } from '../error';
@@ -34,9 +35,15 @@ function getBasicInfo(req: Request) {
3435

3536
const preInfo: Record<string, string> = {
3637
url,
38+
ip: requestip.getClientIp(req) || '',
3739
m: req.method,
3840
};
3941

42+
const sessionReq = req as WithIdentifiedSession;
43+
if (sessionReq.session?.id) {
44+
preInfo.sid = sessionReq.session.id;
45+
}
46+
4047
return preInfo;
4148
}
4249

yarn.lock

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,7 @@ __metadata:
649649
"@types/lodash": ^4.14.201
650650
"@types/minimist": ^1.2.5
651651
"@types/node": ^20.9.1
652+
"@types/request-ip": ^0.0.41
652653
"@types/supertest": ^2.0.16
653654
"@typescript-eslint/eslint-plugin": ^6.11.0
654655
"@typescript-eslint/parser": ^6.11.0
@@ -669,6 +670,7 @@ __metadata:
669670
pino-pretty: ^10.2.3
670671
pinst: ^3.0.0
671672
read-pkg-up: ^7.0.1
673+
request-ip: ^3.3.0
672674
supertest: ^6.3.3
673675
ts-node: ^10.9.1
674676
tsconfig-paths: ^4.2.0
@@ -1692,6 +1694,15 @@ __metadata:
16921694
languageName: node
16931695
linkType: hard
16941696

1697+
"@types/request-ip@npm:^0.0.41":
1698+
version: 0.0.41
1699+
resolution: "@types/request-ip@npm:0.0.41"
1700+
dependencies:
1701+
"@types/node": "*"
1702+
checksum: d8579b7c9b739bd417eadc83d01fce52b10014733ab0f17f9e922c19013ebe5c745c9b267dc2adf48b26738dfb1a9c6b09184cb8b3e85fc490933966b005748c
1703+
languageName: node
1704+
linkType: hard
1705+
16951706
"@types/semver@npm:^7.5.0":
16961707
version: 7.5.1
16971708
resolution: "@types/semver@npm:7.5.1"
@@ -6460,6 +6471,13 @@ __metadata:
64606471
languageName: node
64616472
linkType: hard
64626473

6474+
"request-ip@npm:^3.3.0":
6475+
version: 3.3.0
6476+
resolution: "request-ip@npm:3.3.0"
6477+
checksum: 9ca26f814201da19cb6f1a18da4f036803b770665ec0e7c556ea975ba553321922a5f04909f6dfc2371f695ca8aaa3c66f02c00a5e902c76435029804cdc4964
6478+
languageName: node
6479+
linkType: hard
6480+
64636481
"require-directory@npm:^2.1.1":
64646482
version: 2.1.1
64656483
resolution: "require-directory@npm:2.1.1"

0 commit comments

Comments
 (0)