Genesis
This commit is contained in:
20
src/request-log.js
Normal file
20
src/request-log.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
|
||||
const LOG_FILE = process.env.LOG_FILE || path.join('logs', 'requests.log');
|
||||
|
||||
fs.mkdirSync(path.dirname(LOG_FILE), { recursive: true });
|
||||
const stream = fs.createWriteStream(LOG_FILE, { flags: 'a' });
|
||||
|
||||
function isoTimestamp() {
|
||||
return new Date().toISOString();
|
||||
}
|
||||
|
||||
export function logRequest({ remoteAddress, method, url, statusCode, durationMs, response }) {
|
||||
const line = `${isoTimestamp()} ${remoteAddress} ${method} ${url} ${statusCode} ${durationMs}ms ${response}\n`;
|
||||
stream.write(line);
|
||||
}
|
||||
|
||||
export function closeRequestLog() {
|
||||
stream.end();
|
||||
}
|
||||
Reference in New Issue
Block a user