Skip to content

Commit 60fbdb8

Browse files
committed
improve logging
1 parent 5eda9f7 commit 60fbdb8

File tree

9 files changed

+247
-85
lines changed

9 files changed

+247
-85
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"dotenv": "16.4.5",
3636
"ethers": "5.7.2",
3737
"express": "4.21.1",
38+
"express-http-context": "^1.2.5",
3839
"express-rate-limit": "7.4.1",
3940
"helmet": "8.0.0",
4041
"http-status-codes": "2.3.0",

pnpm-lock.yaml

Lines changed: 66 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/api/routes/log/logRouter.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ import express, { type Request, type Response, type Router } from "express"
22

33
import { ServiceResponse } from "@/common/models/serviceResponse"
44
import { handleServiceResponse } from "@/common/utils/httpHandlers"
5+
import { logProd } from "@/common/utils/logs"
6+
import { logger } from "ethers"
57

68
export const logRouter: Router = express.Router()
79

810
logRouter.post("", (req: Request, res: Response) => {
9-
console.log("[LOG]", JSON.stringify(req.body))
11+
logProd({ name: "[LOG]", ...req.body })
1012

1113
const serviceResponse = ServiceResponse.success({ msg: "success" })
1214
return handleServiceResponse(serviceResponse, res)

src/api/routes/swap/swapRouter.ts

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
handleServiceResponse,
99
validateRequest,
1010
} from "@/common/utils/httpHandlers"
11+
import { log, logProd, logRouteTime } from "@/common/utils/logs"
1112
import { findSwaps } from "@/swapService/runner"
1213
import type { SwapParams } from "@/swapService/types"
1314
import {
@@ -53,15 +54,22 @@ swapRouter.get(
5354
validateRequest(getSwapSchema),
5455
async (req: Request, res: Response) => {
5556
try {
56-
const swaps = await findSwaps(parseRequest(req))
57+
const swapParams = parseRequest(req)
58+
59+
const startTime = process.hrtime()
60+
const swaps = await findSwaps(swapParams)
61+
const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(startTime))
62+
63+
logRouteTime(swapParams, elapsedSeconds)
64+
5765
return handleServiceResponse(
5866
ServiceResponse.success<SwapResponseSingle>(swaps[0]),
5967
res,
6068
)
6169
} catch (error) {
6270
return handleServiceResponse(createFailureResponse(req, error), res)
6371
} finally {
64-
console.log("===== SWAP END =====")
72+
log("===== SWAP END =====")
6573
}
6674
},
6775
)
@@ -71,49 +79,35 @@ swapRouter.get(
7179
validateRequest(getSwapSchema),
7280
async (req: Request, res: Response) => {
7381
try {
74-
const startTime = process.hrtime()
7582
const swapParams = parseRequest(req)
83+
84+
const startTime = process.hrtime()
7685
const swaps = await findSwaps(swapParams)
7786
const elapsedSeconds = parseHrtimeToSeconds(process.hrtime(startTime))
78-
console.log("ROUTE EXECUTING")
79-
if (elapsedSeconds > 10) {
80-
console.log(
81-
`SLOW ROUTE [10]: ${swapParams.swapperMode} ${elapsedSeconds}s`,
82-
)
83-
} else if (elapsedSeconds > 5) {
84-
console.log(
85-
`SLOW ROUTE [5]: ${swapParams.swapperMode} ${elapsedSeconds}s`,
86-
)
87-
} else if (elapsedSeconds > 3) {
88-
console.log(
89-
`SLOW ROUTE [3]: ${swapParams.swapperMode} ${elapsedSeconds}s`,
90-
)
91-
} else if (elapsedSeconds > 1) {
92-
console.log(
93-
`SLOW ROUTE [1]: ${swapParams.swapperMode} ${elapsedSeconds}s`,
94-
)
95-
}
87+
88+
logRouteTime(swapParams, elapsedSeconds)
89+
9690
return handleServiceResponse(
9791
ServiceResponse.success<SwapResponse>(swaps),
9892
res,
9993
)
10094
} catch (error) {
10195
return handleServiceResponse(createFailureResponse(req, error), res)
10296
} finally {
103-
console.log("===== SWAPS END =====")
97+
log("===== SWAPS END =====")
10498
}
10599
},
106100
)
107101

108102
function createFailureResponse(req: Request, error: any) {
109-
console.log(
110-
"error: ",
111-
error.statusCode,
112-
error.message,
113-
error.errorMessage,
114-
JSON.stringify(error.data),
115-
req.url,
116-
)
103+
logProd({
104+
name: "[ERROR]",
105+
statusCode: error.statusCode,
106+
message: error.message,
107+
errorMessage: error.errorMessage,
108+
data: error.data,
109+
url: req.url,
110+
})
117111
if (error instanceof ApiError) {
118112
return ServiceResponse.failure(error.message, error.statusCode, error.data)
119113
}

0 commit comments

Comments
 (0)