diff --git a/src/app/api/production-data/route.ts b/src/app/api/production-data/route.ts index b0783fd..5b1a35d 100644 --- a/src/app/api/production-data/route.ts +++ b/src/app/api/production-data/route.ts @@ -1,5 +1,8 @@ import { NextRequest, NextResponse } from "next/server"; import sql from "mssql"; +import { apiLogger, formatError } from "../../../server/logger"; + +const SLOW_QUERY_MS = 3000; const dbConfig = { server: process.env.DB_SERVER!, @@ -25,6 +28,7 @@ export async function GET(request: NextRequest) { } let pool: sql.ConnectionPool | undefined; + const t0 = Date.now(); try { pool = await sql.connect(dbConfig); const result = await pool @@ -53,10 +57,15 @@ export async function GET(request: NextRequest) { return serialized; }); + const dur = Date.now() - t0; + if (dur > SLOW_QUERY_MS) { + apiLogger.warn(`slow query · workshopNo=${workshopNo} · dur=${dur}ms · rows=${data.length}`); + } return NextResponse.json({ columns, data, total: data.length }); } catch (err) { + const dur = Date.now() - t0; const message = err instanceof Error ? err.message : "Unknown error"; - console.error("DB query error:", message); + apiLogger.error(`query failed · workshopNo=${workshopNo} · dur=${dur}ms · ${formatError(err)}`); return NextResponse.json({ error: message }, { status: 500 }); } finally { if (pool) {