import { clientIp, logInfo } from '../utils/logger' /** * 只记录 /api/*,避免 /images、/twikoo 直链刷屏。 */ export default defineNitroPlugin((nitroApp) => { nitroApp.hooks.hook('request', (event) => { event.context._reqStartedAt = Date.now() }) nitroApp.hooks.hook('afterResponse', (event) => { const path = getRequestURL(event).pathname if (!path.startsWith('/api/')) return // 高频探测接口降噪 if (path === '/api/auth/me' || path === '/api/auth/config') return const method = getMethod(event) const status = getResponseStatus(event) const started = event.context._reqStartedAt as number | undefined const ms = started ? Date.now() - started : undefined logInfo(`${method} ${path}`, { status, ms, ip: clientIp(event) }) }) })