Skip to content

Commit 8846fd1

Browse files
Improve logging (#4921)
* improve logging * Update logger.ts --------- Co-authored-by: Henry Heng <henryheng@flowiseai.com>
1 parent 5ae6ae2 commit 8846fd1

File tree

1 file changed

+41
-35
lines changed

1 file changed

+41
-35
lines changed

packages/server/src/utils/logger.ts

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ let gcsServerStream: any
2020
let gcsErrorStream: any
2121
let gcsServerReqStream: any
2222

23+
let requestLogger: any
24+
2325
if (process.env.STORAGE_TYPE === 's3') {
2426
const accessKeyId = process.env.S3_STORAGE_ACCESS_KEY_ID
2527
const secretAccessKey = process.env.S3_STORAGE_SECRET_ACCESS_KEY
@@ -165,6 +167,32 @@ const logger = createLogger({
165167
]
166168
})
167169

170+
requestLogger = createLogger({
171+
format: combine(timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.json(), errors({ stack: true })),
172+
defaultMeta: {
173+
package: 'server'
174+
},
175+
transports: [
176+
...(process.env.DEBUG && process.env.DEBUG === 'true' ? [new transports.Console()] : []),
177+
...(!process.env.STORAGE_TYPE || process.env.STORAGE_TYPE === 'local'
178+
? [
179+
new transports.File({
180+
filename: path.join(logDir, config.logging.express.filename ?? 'server-requests.log.jsonl'),
181+
level: config.logging.express.level ?? 'debug'
182+
})
183+
]
184+
: []),
185+
...(process.env.STORAGE_TYPE === 's3'
186+
? [
187+
new transports.Stream({
188+
stream: s3ServerReqStream
189+
})
190+
]
191+
: []),
192+
...(process.env.STORAGE_TYPE === 'gcs' ? [gcsServerReqStream] : [])
193+
]
194+
})
195+
168196
export function expressRequestLogger(req: Request, res: Response, next: NextFunction): void {
169197
const unwantedLogURLs = ['/api/v1/node-icon/', '/api/v1/components-credentials-icon/', '/api/v1/ping']
170198

@@ -175,39 +203,17 @@ export function expressRequestLogger(req: Request, res: Response, next: NextFunc
175203
sanitizedBody.password = '********'
176204
}
177205

178-
const fileLogger = createLogger({
179-
format: combine(timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.json(), errors({ stack: true })),
180-
defaultMeta: {
181-
package: 'server',
182-
request: {
183-
method: req.method,
184-
url: req.url,
185-
body: sanitizedBody, // Use sanitized body instead of raw body
186-
query: req.query,
187-
params: req.params,
188-
headers: req.headers
189-
}
190-
},
191-
transports: [
192-
...(process.env.DEBUG && process.env.DEBUG === 'true' ? [new transports.Console()] : []),
193-
...(!process.env.STORAGE_TYPE || process.env.STORAGE_TYPE === 'local'
194-
? [
195-
new transports.File({
196-
filename: path.join(logDir, config.logging.express.filename ?? 'server-requests.log.jsonl'),
197-
level: config.logging.express.level ?? 'debug'
198-
})
199-
]
200-
: []),
201-
...(process.env.STORAGE_TYPE === 's3'
202-
? [
203-
new transports.Stream({
204-
stream: s3ServerReqStream
205-
})
206-
]
207-
: []),
208-
...(process.env.STORAGE_TYPE === 'gcs' ? [gcsServerReqStream] : [])
209-
]
210-
})
206+
// Use the shared requestLogger with request-specific metadata
207+
const requestMetadata = {
208+
request: {
209+
method: req.method,
210+
url: req.url,
211+
body: sanitizedBody, // Use sanitized body instead of raw body
212+
query: req.query,
213+
params: req.params,
214+
headers: req.headers
215+
}
216+
}
211217

212218
const getRequestEmoji = (method: string) => {
213219
const requetsEmojis: Record<string, string> = {
@@ -222,10 +228,10 @@ export function expressRequestLogger(req: Request, res: Response, next: NextFunc
222228
}
223229

224230
if (req.method !== 'GET') {
225-
fileLogger.info(`${getRequestEmoji(req.method)} ${req.method} ${req.url}`)
231+
requestLogger.info(`${getRequestEmoji(req.method)} ${req.method} ${req.url}`, requestMetadata)
226232
logger.info(`${getRequestEmoji(req.method)} ${req.method} ${req.url}`)
227233
} else {
228-
fileLogger.http(`${getRequestEmoji(req.method)} ${req.method} ${req.url}`)
234+
requestLogger.http(`${getRequestEmoji(req.method)} ${req.method} ${req.url}`, requestMetadata)
229235
}
230236
}
231237

0 commit comments

Comments
 (0)